Commit 8f6d9f40 authored by Dimitris Michailidis's avatar Dimitris Michailidis Committed by David S. Miller

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: default avatarDimitris Michailidis <dm@chelsio.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2d3359f8
...@@ -3658,7 +3658,6 @@ static int __devinit init_one(struct pci_dev *pdev, ...@@ -3658,7 +3658,6 @@ static int __devinit init_one(struct pci_dev *pdev,
pi->rx_offload = RX_CSO; pi->rx_offload = RX_CSO;
pi->port_id = i; pi->port_id = i;
netif_carrier_off(netdev); netif_carrier_off(netdev);
netif_tx_stop_all_queues(netdev);
netdev->irq = pdev->irq; netdev->irq = pdev->irq;
netdev->features |= NETIF_F_SG | TSO_FLAGS; netdev->features |= NETIF_F_SG | TSO_FLAGS;
...@@ -3730,6 +3729,7 @@ static int __devinit init_one(struct pci_dev *pdev, ...@@ -3730,6 +3729,7 @@ static int __devinit init_one(struct pci_dev *pdev,
__set_bit(i, &adapter->registered_device_map); __set_bit(i, &adapter->registered_device_map);
adapter->chan_map[adap2pinfo(adapter, i)->tx_chan] = i; adapter->chan_map[adap2pinfo(adapter, i)->tx_chan] = i;
netif_tx_stop_all_queues(adapter->port[i]);
} }
} }
if (!adapter->registered_device_map) { if (!adapter->registered_device_map) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment