aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSritej Velaga <sritej.velaga@qlogic.com>2011-10-28 08:57:11 -0400
committerDavid S. Miller <davem@davemloft.net>2011-10-30 03:09:39 -0400
commit16e3cf73befecd882399d6ec7b12e8fb2c7abf73 (patch)
tree2e455a015cbdd7c439101e16eb1cdebdc49a9094 /drivers
parent9eeebb5bc8d984298cba9d12690923cdc09ab173 (diff)
qlcnic: skip IDC ack check in fw reset path.
In fw reset path, we should consider any change in device state as an ack from the other driver. When that happens, we don't have to wait for an explicit ack. Signed-off-by: Sritej Velaga <sritej.velaga@qlogic.com> Signed-off-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
index 106503f118f..2edffcec930 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
@@ -2840,8 +2840,15 @@ qlcnic_fwinit_work(struct work_struct *work)
2840 goto wait_npar; 2840 goto wait_npar;
2841 } 2841 }
2842 2842
2843 if (dev_state == QLCNIC_DEV_INITIALIZING ||
2844 dev_state == QLCNIC_DEV_READY) {
2845 dev_info(&adapter->pdev->dev, "Detected state change from "
2846 "DEV_NEED_RESET, skipping ack check\n");
2847 goto skip_ack_check;
2848 }
2849
2843 if (adapter->fw_wait_cnt++ > adapter->reset_ack_timeo) { 2850 if (adapter->fw_wait_cnt++ > adapter->reset_ack_timeo) {
2844 dev_err(&adapter->pdev->dev, "Reset:Failed to get ack %d sec\n", 2851 dev_info(&adapter->pdev->dev, "Reset:Failed to get ack %d sec\n",
2845 adapter->reset_ack_timeo); 2852 adapter->reset_ack_timeo);
2846 goto skip_ack_check; 2853 goto skip_ack_check;
2847 } 2854 }