diff options
author | Himanshu Madhani <himanshu.madhani@qlogic.com> | 2013-12-16 15:36:57 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-12-17 16:24:50 -0500 |
commit | 3bf517df0d99f1cf5d369c73ab68e0afe6a3c2f9 (patch) | |
tree | 95bf05c5cff78a9f4e60df4cd3af03dc9fe27f30 | |
parent | b84caae486135d588fb200973b0be8cb8a511edf (diff) |
qlcnic: Fix diagnostic test for all adapters.
o Driver should re-allocate all Tx queues after completing
diagnostic tests. This regression was added by commit id
c2c5e3a0681bb1945c0cb211a5f4baa22cb2cbb3 ("qlcnic: Enable
diagnostic test for multiple Tx queues.")
Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c index b36c02fafcfd..6d3edf6b6a96 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c | |||
@@ -948,6 +948,7 @@ static int qlcnic_irq_test(struct net_device *netdev) | |||
948 | struct qlcnic_hardware_context *ahw = adapter->ahw; | 948 | struct qlcnic_hardware_context *ahw = adapter->ahw; |
949 | struct qlcnic_cmd_args cmd; | 949 | struct qlcnic_cmd_args cmd; |
950 | int ret, drv_sds_rings = adapter->drv_sds_rings; | 950 | int ret, drv_sds_rings = adapter->drv_sds_rings; |
951 | int drv_tx_rings = adapter->drv_tx_rings; | ||
951 | 952 | ||
952 | if (qlcnic_83xx_check(adapter)) | 953 | if (qlcnic_83xx_check(adapter)) |
953 | return qlcnic_83xx_interrupt_test(netdev); | 954 | return qlcnic_83xx_interrupt_test(netdev); |
@@ -980,6 +981,7 @@ free_diag_res: | |||
980 | 981 | ||
981 | clear_diag_irq: | 982 | clear_diag_irq: |
982 | adapter->drv_sds_rings = drv_sds_rings; | 983 | adapter->drv_sds_rings = drv_sds_rings; |
984 | adapter->drv_tx_rings = drv_tx_rings; | ||
983 | clear_bit(__QLCNIC_RESETTING, &adapter->state); | 985 | clear_bit(__QLCNIC_RESETTING, &adapter->state); |
984 | 986 | ||
985 | return ret; | 987 | return ret; |
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c index 05c1eef8df13..aa019c398e9b 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | |||
@@ -1940,7 +1940,6 @@ int qlcnic_diag_alloc_res(struct net_device *netdev, int test) | |||
1940 | qlcnic_detach(adapter); | 1940 | qlcnic_detach(adapter); |
1941 | 1941 | ||
1942 | adapter->drv_sds_rings = QLCNIC_SINGLE_RING; | 1942 | adapter->drv_sds_rings = QLCNIC_SINGLE_RING; |
1943 | adapter->drv_tx_rings = QLCNIC_SINGLE_RING; | ||
1944 | adapter->ahw->diag_test = test; | 1943 | adapter->ahw->diag_test = test; |
1945 | adapter->ahw->linkup = 0; | 1944 | adapter->ahw->linkup = 0; |
1946 | 1945 | ||