1. 11 6月, 2009 1 次提交
  2. 02 5月, 2009 1 次提交
  3. 14 4月, 2009 1 次提交
  4. 07 4月, 2009 1 次提交
  5. 19 3月, 2009 1 次提交
    • K
      tulip: fix crash on iface up with shirq debug · 69145635
      Kyle McMartin 提交于
      Tulip is currently doing request_irq before it has done its
      initialization. This is usually not a problem because it hasn't
      enable interrupts yet, but with DEBUG_SHIRQ on, we call the irq handler
      when registering the interrupt as a sanity check.
      
      This can result in a NULL ptr dereference, so call tulip_init_ring
      before request_irq, and add a free_ring function to do the freeing
      now shared with tulip_close.
      
      Tested with a shell loop running ifup, ifdown in a loop a few hundred
      times with DEBUG_SHIRQ on.
      Signed-off-by: NKyle McMartin <kyle@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      69145635
  6. 14 3月, 2009 1 次提交
  7. 27 2月, 2009 1 次提交
  8. 18 2月, 2009 2 次提交
  9. 09 2月, 2009 1 次提交
  10. 03 2月, 2009 1 次提交
  11. 30 1月, 2009 1 次提交
  12. 22 1月, 2009 1 次提交
  13. 08 1月, 2009 7 次提交
  14. 26 12月, 2008 1 次提交
  15. 23 12月, 2008 1 次提交
  16. 13 11月, 2008 1 次提交
    • W
      netdevice: safe convert to netdev_priv() #part-3 · 8f15ea42
      Wang Chen 提交于
      We have some reasons to kill netdev->priv:
      1. netdev->priv is equal to netdev_priv().
      2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously
         netdev_priv() is more flexible than netdev->priv.
      But we cann't kill netdev->priv, because so many drivers reference to it
      directly.
      
      This patch is a safe convert for netdev->priv to netdev_priv(netdev).
      Since all of the netdev->priv is only for read.
      But it is too big to be sent in one mail.
      I split it to 4 parts and make every part smaller than 100,000 bytes,
      which is max size allowed by vger.
      Signed-off-by: NWang Chen <wangchen@cn.fujitsu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8f15ea42
  17. 11 11月, 2008 1 次提交
  18. 04 11月, 2008 1 次提交
  19. 28 10月, 2008 2 次提交
  20. 14 10月, 2008 2 次提交
  21. 25 9月, 2008 1 次提交
  22. 23 9月, 2008 1 次提交
  23. 23 7月, 2008 1 次提交
  24. 28 6月, 2008 1 次提交
  25. 25 6月, 2008 1 次提交
  26. 12 6月, 2008 1 次提交
    • D
      net: Eliminate flush_scheduled_work() calls while RTNL is held. · 4bb073c0
      David S. Miller 提交于
      If the RTNL is held when we invoke flush_scheduled_work() we could
      deadlock.  One such case is linkwatch, it is a work struct which tries
      to grab the RTNL semaphore.
      
      The most common case are net driver ->stop() methods.  The
      simplest conversion is to instead use cancel_{delayed_}work_sync()
      explicitly on the various work struct the driver uses.
      
      This is an OK transformation because these work structs are doing
      things like resetting the chip, restarting link negotiation, and so
      forth.  And if we're bringing down the device, we're about to turn the
      chip off and reset it anways.  So if we cancel a pending work event,
      that's fine here.
      
      Some drivers were working around this deadlock by using a msleep()
      polling loop of some sort, and those cases are converted to instead
      use cancel_{delayed_}work_sync() as well.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4bb073c0
  27. 31 5月, 2008 1 次提交
  28. 22 5月, 2008 1 次提交
    • A
      uli526x: add support for netpoll · 7fa0cba3
      Anton Vorontsov 提交于
      This patch adds netpoll support for the uli526x ethernet driver --
      simply call the interrupt handler for polling.
      
      To do this without disable_irq()/enable_irq() pair we should fully
      protect the handler. Luckily, it's already using irqsave spinlock,
      the only unprotected place is interrupts re-enabling write. It was
      safe to re-enable interrupts without holding the spinlock, but with
      netpoll possibility now it doesn't seem so.
      
      Patch was tested using netconsole and KGDBoE.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      7fa0cba3
  29. 07 5月, 2008 2 次提交
    • A
      uli526x: fix endianness issues in the setup frame · e284e5c6
      Anton Vorontsov 提交于
      This patch fixes uli526x driver's issues on a PowerPC boards: uli chip
      is unable to receive the packets.
      
      It appears that send_frame_filter prepares the setup frame in the
      endianness unsafe manner. On a big endian machines we should shift
      the address nibble by two bytes.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      e284e5c6
    • A
      uli526x: initialize the hardware prior to requesting interrupts · afd8e399
      Anton Vorontsov 提交于
      The firmware on MPC8610HPCD boards enables ULI ethernet and leaves it
      in some funky state before booting Linux. For drivers, it's always good
      idea to (re)initialize the hardware prior to requesting interrupts.
      
      This patch fixes the following oops:
      
      Oops: Kernel access of bad area, sig: 11 [#1]
      MPC86xx HPCD
      NIP: c0172820 LR: c017287c CTR: 00000000
      [...]
      NIP [c0172820] allocate_rx_buffer+0x2c/0xb0
      LR [c017287c] allocate_rx_buffer+0x88/0xb0
      Call Trace:
      [df82bdc0] [c017287c] allocate_rx_buffer+0x88/0xb0 (unreliable)
      [df82bde0] [c0173000] uli526x_interrupt+0xe4/0x49c
      [df82be20] [c0045418] request_irq+0xf0/0x114
      [df82be50] [c01737b0] uli526x_open+0x48/0x160
      [df82be70] [c0201184] dev_open+0xb0/0xe8
      [df82be80] [c0200104] dev_change_flags+0x90/0x1bc
      [df82bea0] [c035fab0] ip_auto_config+0x214/0xef4
      [df82bf60] [c03421c8] kernel_init+0xc4/0x2ac
      [df82bff0] [c0010834] kernel_thread+0x44/0x60
      Instruction dump:
      4e800020 9421ffe0 7c0802a6 bfa10014 7c7e1b78 90010024 80030060 83e30054
      2b80002f 419d0078 3fa0c039 48000058 <907f0010> 80630088 2f830000 419e0014
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      afd8e399
  30. 29 4月, 2008 1 次提交