From: brking@us.ibm.com Date: Tue, 1 Nov 2005 23:01:07 +0000 (-0600) Subject: [SCSI] ipr: slave_alloc optimization X-Git-Tag: firefly_0821_release~40131^2~13^2~18 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=692aebfc6982a64e70ed11467545f2b9c95e6592;p=firefly-linux-kernel-4.4.55.git [SCSI] ipr: slave_alloc optimization Optimize ipr's slave_alloc to return -ENXIO for devices that do not exist. Signed-off-by: Brian King Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index 63d01e6394a2..8817ea06adbf 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; } /**