Merge branch 'for-linus' into test
[linux-2.6-block.git] / drivers / scsi / scsi_lib.c
index 976c936029cb7f216fec159ff95e4bc307dc518b..9bdf9200cacbc58c0e07a724be26906c4cc378d0 100644 (file)
@@ -2046,9 +2046,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:
                /*