diff options
author | David S. Miller <davem@davemloft.net> | 2009-06-03 05:43:41 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-06-03 05:43:41 -0400 |
commit | b2f8f7525c8aa1fdd8ad8c72c832dfb571d5f768 (patch) | |
tree | 71ae1801d264bca62efa0d22376b49de7f206e9a /drivers/net/cxgb3/cxgb3_main.c | |
parent | d455e5b165a367a628110ec2d18807ea10052cd1 (diff) | |
parent | 12186be7d2e1106cede1cc728526e3d7998cbe94 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/net/forcedeth.c
Diffstat (limited to 'drivers/net/cxgb3/cxgb3_main.c')
-rw-r--r-- | drivers/net/cxgb3/cxgb3_main.c | 8 |
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); |