diff options
author | Dimitris Michailidis <dm@chelsio.com> | 2010-10-21 13:29:55 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-10-25 00:52:30 +0200 |
commit | 8f6d9f40476895571df039b6f1f5230ec7faebad (patch) | |
tree | f960e7ca556f14aa1f8b6f9dcffb0cd491bb9fad /drivers/net/cxgb4 | |
parent | can: tscan1: add driver for TS-CAN1 boards (diff) | |
download | linux-8f6d9f40476895571df039b6f1f5230ec7faebad.tar.xz linux-8f6d9f40476895571df039b6f1f5230ec7faebad.zip |
cxgb4: fix crash due to manipulating queues before registration
Before commit "net: allocate tx queues in register_netdevice"
netif_tx_stop_all_queues and related functions could be used between
device allocation and registration but now only after registration.
cxgb4 has such a call before registration and crashes now. Move it
after register_netdev.
Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cxgb4')
-rw-r--r-- | drivers/net/cxgb4/cxgb4_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/cxgb4/cxgb4_main.c b/drivers/net/cxgb4/cxgb4_main.c index 87054e0a5746..2a01a23ed409 100644 --- a/drivers/net/cxgb4/cxgb4_main.c +++ b/drivers/net/cxgb4/cxgb4_main.c @@ -3658,7 +3658,6 @@ static int __devinit init_one(struct pci_dev *pdev, pi->rx_offload = RX_CSO; pi->port_id = i; netif_carrier_off(netdev); - netif_tx_stop_all_queues(netdev); netdev->irq = pdev->irq; netdev->features |= NETIF_F_SG | TSO_FLAGS; @@ -3730,6 +3729,7 @@ static int __devinit init_one(struct pci_dev *pdev, __set_bit(i, &adapter->registered_device_map); adapter->chan_map[adap2pinfo(adapter, i)->tx_chan] = i; + netif_tx_stop_all_queues(adapter->port[i]); } } if (!adapter->registered_device_map) { |