1. 02 11月, 2007 5 次提交
    • L
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 · 3ce4af1d
      Linus Torvalds 提交于
      * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
        Fix myri10ge NAPI oops & warnings
        Fix region size check in mpc5200 FEC driver
        mpc5200: Fix Kconfig dependancies on MPC5200 FEC device driver
      3ce4af1d
    • A
      Fix myri10ge NAPI oops & warnings · c956a240
      Andrew Gallatin 提交于
      When testing the myri10ge driver with 2.6.24-rc1, I found
      that the machine crashed under heavy load:
      
      Unable to handle kernel paging request at 0000000000100108 RIP:
        [<ffffffff803cc8dd>] net_rx_action+0x11b/0x184
      
      The address corresponds to the list_move_tail() in
      netif_rx_complete():
                           if (unlikely(work == weight))
                                   list_move_tail(&n->poll_list, list);
      
      Eventually, I traced the crashes to calling netif_rx_complete() with
      work_done == budget.  From looking at other drivers, it appears that
      one should only call netif_rx_complete() when work_done < budget.
      
      To fix it, I changed the test in myri10ge_poll() so that it refers
      to to work_done rather than looking at the rx ring status.  If
      work_done is < budget, then that implies we have no more packets to
      process. Any races will be resolved by the NIC when the write to
      irq_claim is made.
      
      In myri10ge_clean_rx_done(), if we ever exceeded our budget, it would
      report a work_done one larger than was acutally done.  This is because
      the increment was done in the conditional, so work_done would be
      incremented regardless of whether or not the test passed or failed.
      This would lead to the WARN_ON_ONCE(work > weight); warning in
      net_rx_action triggering.  I've moved the increment of work_done
      inside the loop.  Note that this would only be a problem when we had
      exceeded our budget.
      
      Signed off by: Andrew Gallatin <gallatin@myri.com>
      
      Andrew Gallatin Myricom Inc
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      c956a240
    • G
      Fix region size check in mpc5200 FEC driver · 48d58459
      Grant Likely 提交于
      Driver shouldn't complain if the register range is larger than what
      it expects.  This works around failures with some device trees.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      48d58459
    • G
      mpc5200: Fix Kconfig dependancies on MPC5200 FEC device driver · 644fdf9b
      Grant Likely 提交于
      When not building an arch/powerpc kernel, the mpc5200 FEC driver depends
      on some symbols which are not defined (BESTCOMM & BESTCOMM_FEC).
      
      This patch flips around the dependancy logic so that it cannot be
      selected unless BESTCOMM_FEC is selected first.  Kconfig stops
      complaining this way.
      
      Also, the driver only works for arch/powerpc (not arch/ppc) anyway so
      it should depend on PPC_MERGE also.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      644fdf9b
    • L
      Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 · 54866f03
      Linus Torvalds 提交于
      * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
        [IRDA] IRNET: Fix build when TCGETS2 is defined.
        [NET]: docbook fixes for netif_ functions
        [NET]: Hide the net_ns kmem cache
        [NET]: Mark the setup_net as __net_init
        [NET]: Hide the dead code in the net_namespace.c
        [NET]: Relax the reference counting of init_net_ns
        [NETNS]: Make the init/exit hooks checks outside the loop
        [NET]: Forget the zero_it argument of sk_alloc()
        [NET]: Remove bogus zero_it argument from sk_alloc
        [NET]: Make the sk_clone() lighter
        [NET]: Move some core sock setup into sk_prot_alloc
        [NET]: Auto-zero the allocated sock object
        [NET]: Cleanup the allocation/freeing of the sock object
        [NET]: Move the get_net() from sock_copy()
        [NET]: Move the sock_copy() from the header
        [TCP]: Another TAGBITS -> SACKED_ACKED|LOST conversion
        [TCP]: Process DSACKs that reside within a SACK block
      54866f03
  2. 01 11月, 2007 29 次提交
  3. 31 10月, 2007 6 次提交