[SCSI] bfa: Allow rsp queue process during ioc disable
authorVijaya Mohan Guvva <vmohan@brocade.com>
Mon, 13 May 2013 09:33:30 +0000 (02:33 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 26 Jun 2013 23:38:46 +0000 (16:38 -0700)
Allow processing completions from firmware during IOC_DISABLE request is
being processed by the firmware, by setting the queue_process flag
appropriately.

Signed-off-by: Vijaya Mohan Guvva <vmohan@brocade.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/bfa/bfa_core.c

index 342d7d9c0997a55c9b69f651d7827e0df027c5c8..520540a5fef6d13ce22192e5ad4930ae21a29240 100644 (file)
@@ -1432,6 +1432,7 @@ bfa_iocfc_disable_cbfn(void *bfa_arg)
 {
        struct bfa_s    *bfa = bfa_arg;
 
+       bfa->queue_process = BFA_FALSE;
        bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_IOC_DISABLED);
 }
 
@@ -1567,7 +1568,6 @@ bfa_iocfc_start(struct bfa_s *bfa)
 void
 bfa_iocfc_stop(struct bfa_s *bfa)
 {
-       bfa->queue_process = BFA_FALSE;
        bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_STOP);
 }
 
@@ -1674,7 +1674,6 @@ bfa_iocfc_disable(struct bfa_s *bfa)
        bfa_plog_str(bfa->plog, BFA_PL_MID_HAL, BFA_PL_EID_MISC, 0,
                     "IOC Disable");
 
-       bfa->queue_process = BFA_FALSE;
        bfa_fsm_send_event(&bfa->iocfc, IOCFC_E_DISABLE);
 }