|
@@ -2907,6 +2907,15 @@ int cam_req_mgr_process_error(void *priv, void *data)
|
|
link->req.l_tbl->num_slots);
|
|
link->req.l_tbl->num_slots);
|
|
in_q->slot[idx].sync_mode = 0;
|
|
in_q->slot[idx].sync_mode = 0;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /* The next req may also be applied */
|
|
|
|
+ idx = in_q->rd_idx;
|
|
|
|
+ __cam_req_mgr_inc_idx(&idx, 1,
|
|
|
|
+ link->req.l_tbl->num_slots);
|
|
|
|
+
|
|
|
|
+ if (in_q->slot[idx].status == CRM_SLOT_STATUS_REQ_APPLIED)
|
|
|
|
+ in_q->slot[idx].status = CRM_SLOT_STATUS_REQ_ADDED;
|
|
|
|
+
|
|
spin_lock_bh(&link->link_state_spin_lock);
|
|
spin_lock_bh(&link->link_state_spin_lock);
|
|
link->state = CAM_CRM_LINK_STATE_ERR;
|
|
link->state = CAM_CRM_LINK_STATE_ERR;
|
|
spin_unlock_bh(&link->link_state_spin_lock);
|
|
spin_unlock_bh(&link->link_state_spin_lock);
|