diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/netxen/netxen_nic_main.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c index 370c52f27760..637ac8b89bac 100644 --- a/drivers/net/netxen/netxen_nic_main.c +++ b/drivers/net/netxen/netxen_nic_main.c | |||
@@ -1535,10 +1535,12 @@ static int netxen_nic_check_temp(struct netxen_adapter *adapter) | |||
1535 | printk(KERN_ALERT | 1535 | printk(KERN_ALERT |
1536 | "%s: Device temperature %d degrees C exceeds" | 1536 | "%s: Device temperature %d degrees C exceeds" |
1537 | " maximum allowed. Hardware has been shut down.\n", | 1537 | " maximum allowed. Hardware has been shut down.\n", |
1538 | netxen_nic_driver_name, temp_val); | 1538 | netdev->name, temp_val); |
1539 | |||
1540 | netif_device_detach(netdev); | ||
1541 | netxen_nic_down(adapter, netdev); | ||
1542 | netxen_nic_detach(adapter); | ||
1539 | 1543 | ||
1540 | netif_carrier_off(netdev); | ||
1541 | netif_stop_queue(netdev); | ||
1542 | rv = 1; | 1544 | rv = 1; |
1543 | } else if (temp_state == NX_TEMP_WARN) { | 1545 | } else if (temp_state == NX_TEMP_WARN) { |
1544 | if (adapter->temp == NX_TEMP_NORMAL) { | 1546 | if (adapter->temp == NX_TEMP_NORMAL) { |
@@ -1546,13 +1548,13 @@ static int netxen_nic_check_temp(struct netxen_adapter *adapter) | |||
1546 | "%s: Device temperature %d degrees C " | 1548 | "%s: Device temperature %d degrees C " |
1547 | "exceeds operating range." | 1549 | "exceeds operating range." |
1548 | " Immediate action needed.\n", | 1550 | " Immediate action needed.\n", |
1549 | netxen_nic_driver_name, temp_val); | 1551 | netdev->name, temp_val); |
1550 | } | 1552 | } |
1551 | } else { | 1553 | } else { |
1552 | if (adapter->temp == NX_TEMP_WARN) { | 1554 | if (adapter->temp == NX_TEMP_WARN) { |
1553 | printk(KERN_INFO | 1555 | printk(KERN_INFO |
1554 | "%s: Device temperature is now %d degrees C" | 1556 | "%s: Device temperature is now %d degrees C" |
1555 | " in normal range.\n", netxen_nic_driver_name, | 1557 | " in normal range.\n", netdev->name, |
1556 | temp_val); | 1558 | temp_val); |
1557 | } | 1559 | } |
1558 | } | 1560 | } |
@@ -1625,7 +1627,7 @@ void netxen_watchdog_task(struct work_struct *work) | |||
1625 | struct netxen_adapter *adapter = | 1627 | struct netxen_adapter *adapter = |
1626 | container_of(work, struct netxen_adapter, watchdog_task); | 1628 | container_of(work, struct netxen_adapter, watchdog_task); |
1627 | 1629 | ||
1628 | if ((adapter->portnum == 0) && netxen_nic_check_temp(adapter)) | 1630 | if (netxen_nic_check_temp(adapter)) |
1629 | return; | 1631 | return; |
1630 | 1632 | ||
1631 | if (!adapter->has_link_events) | 1633 | if (!adapter->has_link_events) |