diff options
author | Bhanu Prakash Gollapudi <bprakash@broadcom.com> | 2011-08-05 04:38:43 +0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-08-27 18:35:36 +0400 |
commit | cd703ae790a07ece30e51a8583ea2490d14efb7c (patch) | |
tree | 6d3408b03388d53c91f21fac4eaa13db4c1a9ff2 /drivers/scsi/bnx2fc | |
parent | abc49a937b23adc7d9748709ca82ee32464ae089 (diff) | |
download | linux-cd703ae790a07ece30e51a8583ea2490d14efb7c.tar.xz |
[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: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/bnx2fc')
-rw-r--r-- | drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c index dccabafc3bb5..ca2e20690b93 100644 --- a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c +++ b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c @@ -771,8 +771,8 @@ static void bnx2fc_destroy_timer(unsigned long data) { struct bnx2fc_hba *hba = (struct bnx2fc_hba *)data; - BNX2FC_MISC_DBG("ERROR:bnx2fc_destroy_timer - " - "Destroy compl not received!!\n"); + printk(KERN_ERR PFX "ERROR:bnx2fc_destroy_timer - " + "Destroy compl not received!!\n"); set_bit(BNX2FC_FLAG_DESTROY_CMPL, &hba->flags); wake_up_interruptible(&hba->destroy_wait); } @@ -1701,6 +1701,7 @@ static void bnx2fc_fw_destroy(struct bnx2fc_hba *hba) wait_event_interruptible(hba->destroy_wait, test_bit(BNX2FC_FLAG_DESTROY_CMPL, &hba->flags)); + clear_bit(BNX2FC_FLAG_DESTROY_CMPL, &hba->flags); /* This should never happen */ if (signal_pending(current)) flush_signals(current); |