Skip to content

Commit

Permalink
[SCSI] ipr: slave_alloc optimization
Browse files Browse the repository at this point in the history
Optimize ipr's slave_alloc to return -ENXIO for devices that
do not exist.

Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
  • Loading branch information
brking@us.ibm.com authored and James Bottomley committed Nov 6, 2005
1 parent 0726ce2 commit 692aebf
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions drivers/scsi/ipr.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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;
}

/**
Expand Down

0 comments on commit 692aebf

Please sign in to comment.