diff options
-rw-r--r-- | drivers/scsi/ipr.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index 63d01e6394a..8817ea06adb 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c @@ -2815,13 +2815,14 @@ static int ipr_slave_configure(struct scsi_device *sdev) * handling new commands. * * Return value: - * 0 on success + * 0 on success / -ENXIO if device does not exist **/ static int ipr_slave_alloc(struct scsi_device *sdev) { struct ipr_ioa_cfg *ioa_cfg = (struct ipr_ioa_cfg *) sdev->host->hostdata; struct ipr_resource_entry *res; unsigned long lock_flags; + int rc = -ENXIO; sdev->hostdata = NULL; @@ -2836,13 +2837,14 @@ static int ipr_slave_alloc(struct scsi_device *sdev) res->in_erp = 0; sdev->hostdata = res; res->needs_sync_complete = 1; + rc = 0; break; } } spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); - return 0; + return rc; } /** |