1. 22 10月, 2013 2 次提交
  2. 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
  3. 08 12月, 2012 1 次提交
  4. 04 12月, 2012 1 次提交
  5. 19 11月, 2012 1 次提交
  6. 15 11月, 2012 1 次提交
  7. 08 11月, 2012 1 次提交
  8. 04 11月, 2012 1 次提交
  9. 11 7月, 2012 3 次提交
  10. 20 4月, 2012 1 次提交
  11. 07 2月, 2012 1 次提交
  12. 31 1月, 2012 1 次提交
  13. 13 1月, 2012 1 次提交
  14. 06 1月, 2012 1 次提交
  15. 22 11月, 2011 1 次提交
  16. 17 11月, 2011 2 次提交
  17. 14 11月, 2011 1 次提交
  18. 19 10月, 2011 1 次提交
  19. 16 9月, 2011 1 次提交
  20. 12 8月, 2011 1 次提交
  21. 09 7月, 2011 1 次提交
  22. 07 6月, 2011 1 次提交
  23. 30 4月, 2011 1 次提交
  24. 11 4月, 2011 1 次提交
  25. 28 3月, 2011 1 次提交
  26. 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
  27. 21 12月, 2010 1 次提交
  28. 24 7月, 2010 1 次提交
  29. 06 7月, 2010 1 次提交
  30. 17 6月, 2010 1 次提交
  31. 16 6月, 2010 1 次提交
  32. 01 6月, 2010 2 次提交
  33. 18 5月, 2010 1 次提交
    • J
      drivers/net: Use kcalloc or kzalloc · a05abcb5
      Julia Lawall 提交于
      Use kcalloc or kzalloc rather than the combination of kmalloc and memset.
      
      The semantic patch that makes this change is as follows:
      (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @@
      expression x,y,flags;
      statement S;
      type T;
      @@
      
      x =
      -   kmalloc
      +   kcalloc
                 (
      -           y * sizeof(T),
      +           y, sizeof(T),
                      flags);
       if (x == NULL) S
      -memset(x, 0, y * sizeof(T));
      
      @@
      expression x,size,flags;
      statement S;
      @@
      
      -x = kmalloc(size,flags);
      +x = kzalloc(size,flags);
       if (x == NULL) S
      -memset(x, 0, size);
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a05abcb5
  34. 15 4月, 2010 1 次提交
  35. 13 4月, 2010 1 次提交