1. 23 12月, 2014 1 次提交
  2. 13 8月, 2014 1 次提交
  3. 09 8月, 2014 1 次提交
  4. 23 5月, 2014 1 次提交
  5. 16 5月, 2014 1 次提交
  6. 14 5月, 2014 1 次提交
  7. 25 3月, 2014 1 次提交
  8. 16 1月, 2014 1 次提交
  9. 01 1月, 2014 1 次提交
  10. 22 10月, 2013 2 次提交
  11. 20 12月, 2012 1 次提交
    • L
      ksz884x: fix receive polling race condition · 4945106d
      Lennert Buytenhek 提交于
      The ksz884x driver does receive processing in a custom tasklet, and
      seems to be assuming that since it takes its private interface spinlock
      with spin_lock_irq(), it won't be running concurrently with its own
      interrupt handler, as it cannot be preempted by it, but since its
      interrupt handler doesn't do any locking whatsoever, the receive
      processing tasklet and interrupt handler can end up running concurrently
      on different CPUs.
      
      As a result of this, the ksz884x receive path ends up locking up fairly
      easily, when the receive processing tasklet's reenabling of receive
      interrupts (due to it being done with polling the receive ring) races
      with the interrupt handler's disabling of receive interrupts (due to a
      new receive interrupt coming in) resulting in the receive interrupt
      being masked but the receive processing tasklet not being scheduled.
      
      Fix this by making the ksz884x interrupt handler take its private
      interface spinlock.  This requires upgrading the spin_lock() in the
      transmit cleanup tasklet to a spin_lock_irq(), as otherwise the IRQ
      handler can preempt transmit cleanup and deadlock the system, but
      with those two changes, no more receive lockups have been observed.
      Reported-by: NChris Healy <cphealy@gmail.com>
      Signed-off-by: NLennert Buytenhek <buytenh@wantstofly.org>
      
      ----
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4945106d
  12. 08 12月, 2012 1 次提交
  13. 04 12月, 2012 1 次提交
  14. 19 11月, 2012 1 次提交
  15. 15 11月, 2012 1 次提交
  16. 08 11月, 2012 1 次提交
  17. 04 11月, 2012 1 次提交
  18. 11 7月, 2012 3 次提交
  19. 20 4月, 2012 1 次提交
  20. 07 2月, 2012 1 次提交
  21. 31 1月, 2012 1 次提交
  22. 13 1月, 2012 1 次提交
  23. 06 1月, 2012 1 次提交
  24. 22 11月, 2011 1 次提交
  25. 17 11月, 2011 2 次提交
  26. 14 11月, 2011 1 次提交
  27. 19 10月, 2011 1 次提交
  28. 16 9月, 2011 1 次提交
  29. 12 8月, 2011 1 次提交
  30. 09 7月, 2011 1 次提交
  31. 07 6月, 2011 1 次提交
  32. 30 4月, 2011 1 次提交
  33. 11 4月, 2011 1 次提交
  34. 28 3月, 2011 1 次提交
  35. 04 1月, 2011 1 次提交
    • S
      ksz884x: Fix section mismatch derived from pcidev_init() · cbad8322
      Sedat Dilek 提交于
      This fixes the following warning:
      
      WARNING: drivers/net/ksz884x.o(.data+0x18): Section mismatch in reference from the variable pci_device_driver to the function .init.text:pcidev_init()
      The variable pci_device_driver references
      the function __init pcidev_init()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      
      Tested with linux-next (next-20101231)
      Signed-off-by: NSedat Dilek <sedat.dilek@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cbad8322
  36. 21 12月, 2010 1 次提交