aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/cxgb3/cxgb3_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/cxgb3/cxgb3_main.c')
-rw-r--r--drivers/net/cxgb3/cxgb3_main.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/cxgb3/cxgb3_main.c b/drivers/net/cxgb3/cxgb3_main.c
index 4bc26568b2f6..aef3ab21f5f7 100644
--- a/drivers/net/cxgb3/cxgb3_main.c
+++ b/drivers/net/cxgb3/cxgb3_main.c
@@ -2453,14 +2453,16 @@ static void check_link_status(struct adapter *adapter)
2453 for_each_port(adapter, i) { 2453 for_each_port(adapter, i) {
2454 struct net_device *dev = adapter->port[i]; 2454 struct net_device *dev = adapter->port[i];
2455 struct port_info *p = netdev_priv(dev); 2455 struct port_info *p = netdev_priv(dev);
2456 int link_fault;
2456 2457
2457 spin_lock_irq(&adapter->work_lock); 2458 spin_lock_irq(&adapter->work_lock);
2458 if (p->link_fault) { 2459 link_fault = p->link_fault;
2460 spin_unlock_irq(&adapter->work_lock);
2461
2462 if (link_fault) {
2459 t3_link_fault(adapter, i); 2463 t3_link_fault(adapter, i);
2460 spin_unlock_irq(&adapter->work_lock);
2461 continue; 2464 continue;
2462 } 2465 }
2463 spin_unlock_irq(&adapter->work_lock);
2464 2466
2465 if (!(p->phy.caps & SUPPORTED_IRQ) && netif_running(dev)) { 2467 if (!(p->phy.caps & SUPPORTED_IRQ) && netif_running(dev)) {
2466 t3_xgm_intr_disable(adapter, i); 2468 t3_xgm_intr_disable(adapter, i);