Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 265701
b: refs/heads/master
c: 44f65b2
h: refs/heads/master
i:
  265699: 6aab413
v: v3
  • Loading branch information
Sony Chacko authored and David S. Miller committed Aug 30, 2011
1 parent c58b69f commit eefc10f
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1bddc59c2546a24a92b1e7d4d8fa1e1e38aeedb2
refs/heads/master: 44f65b290235a1b259eea1aa055b5b1be36d3c86
1 change: 0 additions & 1 deletion trunk/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -832,7 +832,6 @@ qlcnic_diag_test(struct net_device *dev, struct ethtool_test *eth_test,
data[3] = qlcnic_loopback_test(dev, QLCNIC_ILB_MODE);
if (data[3])
eth_test->flags |= ETH_TEST_FL_FAILED;

if (eth_test->flags & ETH_TEST_FL_EXTERNAL_LB) {
data[4] = qlcnic_loopback_test(dev, QLCNIC_ELB_MODE);
if (data[4])
Expand Down
4 changes: 3 additions & 1 deletion trunk/drivers/net/ethernet/qlogic/qlcnic/qlcnic_hdr.h
Original file line number Diff line number Diff line change
Expand Up @@ -609,6 +609,7 @@ enum {
QLCNIC_TEMP_PANIC /* Fatal error, hardware has shut down. */
};


/* Lock IDs for PHY lock */
#define PHY_LOCK_DRIVER 0x44524956

Expand Down Expand Up @@ -723,7 +724,8 @@ enum {
#define QLCNIC_RCODE_DRIVER_CAN_RELOAD BIT_30
#define QLCNIC_RCODE_FATAL_ERROR BIT_31
#define QLCNIC_FWERROR_PEGNUM(code) ((code) & 0xff)
#define QLCNIC_FWERROR_CODE(code) ((code >> 8) & 0xfffff)
#define QLCNIC_FWERROR_CODE(code) ((code >> 8) & 0x1fffff)
#define QLCNIC_FWERROR_FAN_FAILURE 0x16

#define FW_POLL_DELAY (1 * HZ)
#define FW_FAIL_THRESH 2
Expand Down
29 changes: 24 additions & 5 deletions trunk/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2928,15 +2928,36 @@ qlcnic_detach_work(struct work_struct *work)

status = QLCRD32(adapter, QLCNIC_PEG_HALT_STATUS1);

if (status & QLCNIC_RCODE_FATAL_ERROR)
if (status & QLCNIC_RCODE_FATAL_ERROR) {
dev_err(&adapter->pdev->dev,
"Detaching the device: peg halt status1=0x%x\n",
status);

if (QLCNIC_FWERROR_CODE(status) == QLCNIC_FWERROR_FAN_FAILURE) {
dev_err(&adapter->pdev->dev,
"On board active cooling fan failed. "
"Device has been halted.\n");
dev_err(&adapter->pdev->dev,
"Replace the adapter.\n");
}

goto err_ret;
}

if (adapter->temp == QLCNIC_TEMP_PANIC)
if (adapter->temp == QLCNIC_TEMP_PANIC) {
dev_err(&adapter->pdev->dev, "Detaching the device: temp=%d\n",
adapter->temp);
goto err_ret;
}

/* Dont ack if this instance is the reset owner */
if (!(adapter->flags & QLCNIC_FW_RESET_OWNER)) {
if (qlcnic_set_drv_state(adapter, adapter->dev_state))
if (qlcnic_set_drv_state(adapter, adapter->dev_state)) {
dev_err(&adapter->pdev->dev,
"Failed to set driver state,"
"detaching the device.\n");
goto err_ret;
}
}

adapter->fw_wait_cnt = 0;
Expand All @@ -2946,8 +2967,6 @@ qlcnic_detach_work(struct work_struct *work)
return;

err_ret:
dev_err(&adapter->pdev->dev, "detach failed; status=%d temp=%d\n",
status, adapter->temp);
netif_device_attach(netdev);
qlcnic_clr_all_drv_state(adapter, 1);
}
Expand Down

0 comments on commit eefc10f

Please sign in to comment.