Commit cd703ae7 authored by Bhanu Prakash Gollapudi's avatar Bhanu Prakash Gollapudi Committed by James Bottomley

[SCSI] bnx2fc: Clear DESTROY_CMPL flag after firmware destroy

Since this flag was never cleared, the driver does not wait for firmware
destroy completions, causing missed KCQEs.
Signed-off-by: default avatarBhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent abc49a93
...@@ -771,7 +771,7 @@ static void bnx2fc_destroy_timer(unsigned long data) ...@@ -771,7 +771,7 @@ static void bnx2fc_destroy_timer(unsigned long data)
{ {
struct bnx2fc_hba *hba = (struct bnx2fc_hba *)data; struct bnx2fc_hba *hba = (struct bnx2fc_hba *)data;
BNX2FC_MISC_DBG("ERROR:bnx2fc_destroy_timer - " printk(KERN_ERR PFX "ERROR:bnx2fc_destroy_timer - "
"Destroy compl not received!!\n"); "Destroy compl not received!!\n");
set_bit(BNX2FC_FLAG_DESTROY_CMPL, &hba->flags); set_bit(BNX2FC_FLAG_DESTROY_CMPL, &hba->flags);
wake_up_interruptible(&hba->destroy_wait); wake_up_interruptible(&hba->destroy_wait);
...@@ -1701,6 +1701,7 @@ static void bnx2fc_fw_destroy(struct bnx2fc_hba *hba) ...@@ -1701,6 +1701,7 @@ static void bnx2fc_fw_destroy(struct bnx2fc_hba *hba)
wait_event_interruptible(hba->destroy_wait, wait_event_interruptible(hba->destroy_wait,
test_bit(BNX2FC_FLAG_DESTROY_CMPL, test_bit(BNX2FC_FLAG_DESTROY_CMPL,
&hba->flags)); &hba->flags));
clear_bit(BNX2FC_FLAG_DESTROY_CMPL, &hba->flags);
/* This should never happen */ /* This should never happen */
if (signal_pending(current)) if (signal_pending(current))
flush_signals(current); flush_signals(current);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment