Merge tag 'for-linus-20180204' of git://git.kernel.dk/linux-block
[linux-2.6-block.git] / drivers / scsi / scsi_lib.c
index 8efe4731ed8986fc4c8d72d4513aa64324afd3c1..a86df9ca7d1c88aceb1d1e2298f48fbdb8bb3c49 100644 (file)
@@ -2047,9 +2047,9 @@ out_put_budget:
        case BLK_STS_OK:
                break;
        case BLK_STS_RESOURCE:
-               if (atomic_read(&sdev->device_busy) == 0 &&
-                   !scsi_device_blocked(sdev))
-                       blk_mq_delay_run_hw_queue(hctx, SCSI_QUEUE_DELAY);
+               if (atomic_read(&sdev->device_busy) ||
+                   scsi_device_blocked(sdev))
+                       ret = BLK_STS_DEV_RESOURCE;
                break;
        default:
                /*