diff options
author | Amit Arora <aarora@in.ibm.com> | 2006-05-19 19:14:50 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-05-28 13:01:23 -0400 |
commit | 091686d3b5569d2ec76b9e6dab7f3608b6f64497 (patch) | |
tree | 8e2e85f774899d72b5419fdfb574dd994c35f8fd /drivers/scsi | |
parent | 93ef588735973e4c35ff3707685678cdebd694a4 (diff) |
[SCSI] Return -EINVAL when "id == max_id" in scsi_scan_host_selected()
The scsi_scan_host_selected() should return -EINVAL when the id is equal
to the max_id. Currently it uses ">" when comparing with max_id, and
hence leaves the border case when "id==max_id".
The channel and lun have values valid from 0 up to,
and including, max_channel or max_lun. But, the valid values for id
range from 0 to max_id-1. This patch fixes the problem.
Signed-off-by: Amit Arora <aarora@in.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/scsi_scan.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index f85d9100f554..fd97d07577ad 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c | |||
@@ -1503,7 +1503,7 @@ int scsi_scan_host_selected(struct Scsi_Host *shost, unsigned int channel, | |||
1503 | __FUNCTION__, channel, id, lun)); | 1503 | __FUNCTION__, channel, id, lun)); |
1504 | 1504 | ||
1505 | if (((channel != SCAN_WILD_CARD) && (channel > shost->max_channel)) || | 1505 | if (((channel != SCAN_WILD_CARD) && (channel > shost->max_channel)) || |
1506 | ((id != SCAN_WILD_CARD) && (id > shost->max_id)) || | 1506 | ((id != SCAN_WILD_CARD) && (id >= shost->max_id)) || |
1507 | ((lun != SCAN_WILD_CARD) && (lun > shost->max_lun))) | 1507 | ((lun != SCAN_WILD_CARD) && (lun > shost->max_lun))) |
1508 | return -EINVAL; | 1508 | return -EINVAL; |
1509 | 1509 | ||