From 96bd276748c109ae4c6fdce28e6a40a4dfbef84a Mon Sep 17 00:00:00 2001 From: Sucheta Chakraborty Date: Wed, 27 Apr 2011 14:43:44 +0000 Subject: [PATCH] --- yaml --- r: 247015 b: refs/heads/master c: 89b4208e2861bc7dc325840b44bae302a4e30add h: refs/heads/master i: 247013: 9e3b6f44f90d309b14da4146db9d2e70d45534df 247011: 75375116d1f8d9b84084d4557186a55fab20aa84 247007: 5c078c1516646c3c9404d8e52845b69cec2676e6 v: v3 --- [refs] | 2 +- trunk/drivers/net/qlcnic/qlcnic.h | 2 +- trunk/drivers/net/qlcnic/qlcnic_ethtool.c | 12 +++++------- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 9ea60b833c76..610b39b303cb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 63c3a66fe6c827a731dcbdee181158b295626f83 +refs/heads/master: 89b4208e2861bc7dc325840b44bae302a4e30add diff --git a/trunk/drivers/net/qlcnic/qlcnic.h b/trunk/drivers/net/qlcnic/qlcnic.h index fa5b15c474b0..f7acb807a03d 100644 --- a/trunk/drivers/net/qlcnic/qlcnic.h +++ b/trunk/drivers/net/qlcnic/qlcnic.h @@ -884,6 +884,7 @@ struct qlcnic_ipaddr { #define __QLCNIC_RESETTING 2 #define __QLCNIC_START_FW 4 #define __QLCNIC_AER 5 +#define __QLCNIC_DIAG_RES_ALLOC 6 #define QLCNIC_INTERRUPT_TEST 1 #define QLCNIC_LOOPBACK_TEST 2 @@ -913,7 +914,6 @@ struct qlcnic_adapter { struct net_device *netdev; struct pci_dev *pdev; - bool blink_was_down; unsigned long state; u32 flags; diff --git a/trunk/drivers/net/qlcnic/qlcnic_ethtool.c b/trunk/drivers/net/qlcnic/qlcnic_ethtool.c index 615a5ab88456..de65847f3559 100644 --- a/trunk/drivers/net/qlcnic/qlcnic_ethtool.c +++ b/trunk/drivers/net/qlcnic/qlcnic_ethtool.c @@ -772,7 +772,6 @@ static int qlcnic_set_led(struct net_device *dev, switch (state) { case ETHTOOL_ID_ACTIVE: - adapter->blink_was_down = false; if (!test_bit(__QLCNIC_DEV_UP, &adapter->state)) { if (test_and_set_bit(__QLCNIC_RESETTING, &adapter->state)) return -EIO; @@ -781,7 +780,7 @@ static int qlcnic_set_led(struct net_device *dev, clear_bit(__QLCNIC_RESETTING, &adapter->state); return -EIO; } - adapter->blink_was_down = true; + set_bit(__QLCNIC_DIAG_RES_ALLOC, &adapter->state); } if (adapter->nic_ops->config_led(adapter, 1, 0xf) == 0) @@ -792,18 +791,17 @@ static int qlcnic_set_led(struct net_device *dev, break; case ETHTOOL_ID_INACTIVE: - if (adapter->nic_ops->config_led(adapter, 0, 0xf) == 0) - return 0; + if (adapter->nic_ops->config_led(adapter, 0, 0xf)) + dev_err(&adapter->pdev->dev, + "Failed to reset LED blink state.\n"); - dev_err(&adapter->pdev->dev, - "Failed to reset LED blink state.\n"); break; default: return -EINVAL; } - if (adapter->blink_was_down) { + if (test_and_clear_bit(__QLCNIC_DIAG_RES_ALLOC, &adapter->state)) { qlcnic_diag_free_res(dev, max_sds_rings); clear_bit(__QLCNIC_RESETTING, &adapter->state); }