linux/drivers/net/mlx4
Dongdong Deng 4871953c0e drivers/net: fixed drivers that support netpoll use ndo_start_xmit()
The NETPOLL API requires that interrupts remain disabled in
netpoll_send_skb(). The use of "A functions set" in the NETPOLL API
callbacks causes the interrupts to get enabled and can lead to kernel
instability.

The solution is to use "B functions set" to prevent the irqs from
getting enabled while in netpoll_send_skb().

A functions set:
local_irq_disable()/local_irq_enable()
spin_lock_irq()/spin_unlock_irq()
spin_trylock_irq()/spin_unlock_irq()

B functions set:
local_irq_save()/local_irq_restore()
spin_lock_irqsave()/spin_unlock_irqrestore()
spin_trylock_irqsave()/spin_unlock_irqrestore()

Signed-off-by: Dongdong Deng <dongdong.deng@windriver.com>
Acked-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-23 19:51:03 -07:00
..
alloc.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2008-10-23 08:16:03 -07:00
catas.c mlx4_core: Add link type autosensing 2009-03-18 19:45:11 -07:00
cmd.c mlx4_core: Handle multi-physical function devices 2009-07-06 16:10:03 -07:00
cq.c mlx4_core: Add support for multiple completion event vectors 2008-12-22 07:15:03 -08:00
en_cq.c mlx4_en: Fix partial rings feature 2009-05-25 00:35:53 -07:00
en_ethtool.c drivers/net/mlx4: Adjust constant 2009-07-21 13:00:46 -07:00
en_main.c mlx4_en: multiqueue support 2009-06-02 02:29:06 -07:00
en_netdev.c mlx4_en: Remove redundant refill code on RX 2009-06-21 19:18:07 -07:00
en_port.c mlx4_en: Move to SW counters for total bytes and packets 2009-04-21 01:47:07 -07:00
en_port.h mlx4_en: Add driver for Mellanox ConnectX 10GbE NIC 2008-10-22 15:47:49 -07:00
en_resources.c mlx4_en: Assign dummy event handler for TX queue 2009-04-21 01:47:05 -07:00
en_rx.c mlx4_en: Fix read buffer overflow in mlx4_en_complete_rx_desc() 2009-08-09 21:47:01 -07:00
en_tx.c drivers/net: fixed drivers that support netpoll use ndo_start_xmit() 2009-08-23 19:51:03 -07:00
eq.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-06-15 03:02:23 -07:00
fw.c mlx4: Setting the correct offset for default mac address 2008-10-27 14:50:03 -04:00
fw.h mlx4_core: Multiple port type support 2008-10-22 15:38:42 -07:00
icm.c mlx4: Update/add Mellanox Technologies copyright lines to mlx4 driver files 2008-07-25 10:32:52 -07:00
icm.h mlx4: Update/add Mellanox Technologies copyright lines to mlx4 driver files 2008-07-25 10:32:52 -07:00
intf.c mlx4: Update/add Mellanox Technologies copyright lines to mlx4 driver files 2008-07-25 10:32:52 -07:00
main.c mlx4_core: Add new ConnectX EN PCI ID 0x6764 2009-07-06 16:10:40 -07:00
Makefile mlx4_en renamed en_params.c to en_ethtool.c 2009-06-02 02:29:04 -07:00
mcg.c mlx4: fix warning in drivers/net/mlx4/mcg.c 2008-11-25 16:57:59 -08:00
mlx4_en.h mlx4_en: Remove redundant refill code on RX 2009-06-21 19:18:07 -07:00
mlx4.h mlx4_core: Add link type autosensing 2009-03-18 19:45:11 -07:00
mr.c mlx4_core: Fix dma_sync_single_for_cpu() with matching for_device() calls 2009-06-22 23:07:56 -07:00
pd.c mlx4_core: Support multiple pre-reserved QP regions 2008-10-22 10:25:29 -07:00
port.c mlx4_core: Don't leak mailbox for SET_PORT on Ethernet ports 2009-03-31 09:54:15 -07:00
profile.c mlx4_core: Add module parameter for number of MTTs per segment 2009-05-27 14:38:34 -07:00
qp.c mlx4_core: Support multiple pre-reserved QP regions 2008-10-22 10:25:29 -07:00
reset.c mlx4: Update/add Mellanox Technologies copyright lines to mlx4 driver files 2008-07-25 10:32:52 -07:00
sense.c workqueue: add to_delayed_work() helper function 2009-04-02 19:04:50 -07:00
srq.c mlx4_core: Support multiple pre-reserved QP regions 2008-10-22 10:25:29 -07:00