1. 03 Nov, 2007 4 commits
  2. 02 Nov, 2007 32 commits
  3. 01 Nov, 2007 4 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 434a25d4
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: Don't access input_dev->private directly
        HID: fix hidinput_connect ignoring retval from input_register_device
        HID: hiddev - fix compiler warning
        HID: Add GoTop tablets to blacklist
      434a25d4
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 · 3ce4af1d
      Linus Torvalds authored
      * '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
    • Andrew Gallatin's avatar
      Fix myri10ge NAPI oops & warnings · c956a240
      Andrew Gallatin authored
      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: default avatarJeff Garzik <jeff@garzik.org>
      c956a240
    • Grant Likely's avatar
      Fix region size check in mpc5200 FEC driver · 48d58459
      Grant Likely authored
      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: default avatarGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      48d58459