diff options
Diffstat (limited to 'drivers/net/chelsio/cxgb2.c')
-rw-r--r-- | drivers/net/chelsio/cxgb2.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/chelsio/cxgb2.c b/drivers/net/chelsio/cxgb2.c index 231ce43b97cf..593736c7550d 100644 --- a/drivers/net/chelsio/cxgb2.c +++ b/drivers/net/chelsio/cxgb2.c | |||
@@ -255,8 +255,11 @@ static int cxgb_open(struct net_device *dev) | |||
255 | struct adapter *adapter = dev->priv; | 255 | struct adapter *adapter = dev->priv; |
256 | int other_ports = adapter->open_device_map & PORT_MASK; | 256 | int other_ports = adapter->open_device_map & PORT_MASK; |
257 | 257 | ||
258 | if (!adapter->open_device_map && (err = cxgb_up(adapter)) < 0) | 258 | napi_enable(&adapter->napi); |
259 | if (!adapter->open_device_map && (err = cxgb_up(adapter)) < 0) { | ||
260 | napi_disable(&adapter->napi); | ||
259 | return err; | 261 | return err; |
262 | } | ||
260 | 263 | ||
261 | __set_bit(dev->if_port, &adapter->open_device_map); | 264 | __set_bit(dev->if_port, &adapter->open_device_map); |
262 | link_start(&adapter->port[dev->if_port]); | 265 | link_start(&adapter->port[dev->if_port]); |
@@ -274,6 +277,7 @@ static int cxgb_close(struct net_device *dev) | |||
274 | struct cmac *mac = p->mac; | 277 | struct cmac *mac = p->mac; |
275 | 278 | ||
276 | netif_stop_queue(dev); | 279 | netif_stop_queue(dev); |
280 | napi_disable(&adapter->napi); | ||
277 | mac->ops->disable(mac, MAC_DIRECTION_TX | MAC_DIRECTION_RX); | 281 | mac->ops->disable(mac, MAC_DIRECTION_TX | MAC_DIRECTION_RX); |
278 | netif_carrier_off(dev); | 282 | netif_carrier_off(dev); |
279 | 283 | ||
@@ -1113,8 +1117,7 @@ static int __devinit init_one(struct pci_dev *pdev, | |||
1113 | netdev->poll_controller = t1_netpoll; | 1117 | netdev->poll_controller = t1_netpoll; |
1114 | #endif | 1118 | #endif |
1115 | #ifdef CONFIG_CHELSIO_T1_NAPI | 1119 | #ifdef CONFIG_CHELSIO_T1_NAPI |
1116 | netdev->weight = 64; | 1120 | netif_napi_add(netdev, &adapter->napi, t1_poll, 64); |
1117 | netdev->poll = t1_poll; | ||
1118 | #endif | 1121 | #endif |
1119 | 1122 | ||
1120 | SET_ETHTOOL_OPS(netdev, &t1_ethtool_ops); | 1123 | SET_ETHTOOL_OPS(netdev, &t1_ethtool_ops); |