aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/chelsio/cxgb2.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/chelsio/cxgb2.c')
-rw-r--r--drivers/net/chelsio/cxgb2.c9
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);