diff options
Diffstat (limited to 'drivers/scsi/libsas/sas_scsi_host.c')
-rw-r--r-- | drivers/scsi/libsas/sas_scsi_host.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c index 535085cd27ec..55f09e92ab59 100644 --- a/drivers/scsi/libsas/sas_scsi_host.c +++ b/drivers/scsi/libsas/sas_scsi_host.c | |||
@@ -217,6 +217,13 @@ int sas_queuecommand(struct scsi_cmnd *cmd, | |||
217 | goto out; | 217 | goto out; |
218 | } | 218 | } |
219 | 219 | ||
220 | /* If the device fell off, no sense in issuing commands */ | ||
221 | if (dev->gone) { | ||
222 | cmd->result = DID_BAD_TARGET << 16; | ||
223 | scsi_done(cmd); | ||
224 | goto out; | ||
225 | } | ||
226 | |||
220 | res = -ENOMEM; | 227 | res = -ENOMEM; |
221 | task = sas_create_task(cmd, dev, GFP_ATOMIC); | 228 | task = sas_create_task(cmd, dev, GFP_ATOMIC); |
222 | if (!task) | 229 | if (!task) |