diff options
-rw-r--r-- | drivers/scsi/be2iscsi/be_cmds.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/scsi/be2iscsi/be_cmds.c b/drivers/scsi/be2iscsi/be_cmds.c index 698a527d6cca..f008708f1b08 100644 --- a/drivers/scsi/be2iscsi/be_cmds.c +++ b/drivers/scsi/be2iscsi/be_cmds.c | |||
@@ -135,11 +135,15 @@ int beiscsi_process_mcc(struct beiscsi_hba *phba) | |||
135 | while ((compl = be_mcc_compl_get(phba))) { | 135 | while ((compl = be_mcc_compl_get(phba))) { |
136 | if (compl->flags & CQE_FLAGS_ASYNC_MASK) { | 136 | if (compl->flags & CQE_FLAGS_ASYNC_MASK) { |
137 | /* Interpret flags as an async trailer */ | 137 | /* Interpret flags as an async trailer */ |
138 | BUG_ON(!is_link_state_evt(compl->flags)); | 138 | if (is_link_state_evt(compl->flags)) |
139 | /* Interpret compl as a async link evt */ | ||
140 | beiscsi_async_link_state_process(phba, | ||
141 | (struct be_async_event_link_state *) compl); | ||
142 | else | ||
143 | SE_DEBUG(DBG_LVL_1, | ||
144 | " Unsupported Async Event, flags" | ||
145 | " = 0x%08x \n", compl->flags); | ||
139 | 146 | ||
140 | /* Interpret compl as a async link evt */ | ||
141 | beiscsi_async_link_state_process(phba, | ||
142 | (struct be_async_event_link_state *) compl); | ||
143 | } else if (compl->flags & CQE_FLAGS_COMPLETED_MASK) { | 147 | } else if (compl->flags & CQE_FLAGS_COMPLETED_MASK) { |
144 | status = be_mcc_compl_process(ctrl, compl); | 148 | status = be_mcc_compl_process(ctrl, compl); |
145 | atomic_dec(&phba->ctrl.mcc_obj.q.used); | 149 | atomic_dec(&phba->ctrl.mcc_obj.q.used); |