|
@@ -1594,6 +1594,12 @@ err_unmap:
|
|
err_iu:
|
|
err_iu:
|
|
srp_put_tx_iu(target, iu, SRP_IU_CMD);
|
|
srp_put_tx_iu(target, iu, SRP_IU_CMD);
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ * Avoid that the loops that iterate over the request ring can
|
|
|
|
+ * encounter a dangling SCSI command pointer.
|
|
|
|
+ */
|
|
|
|
+ req->scmnd = NULL;
|
|
|
|
+
|
|
spin_lock_irqsave(&target->lock, flags);
|
|
spin_lock_irqsave(&target->lock, flags);
|
|
list_add(&req->list, &target->free_reqs);
|
|
list_add(&req->list, &target->free_reqs);
|
|
|
|
|