[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>
This commit is contained in:
parent
93ef588735
commit
091686d3b5
|
@ -1503,7 +1503,7 @@ int scsi_scan_host_selected(struct Scsi_Host *shost, unsigned int channel,
|
|||
__FUNCTION__, channel, id, lun));
|
||||
|
||||
if (((channel != SCAN_WILD_CARD) && (channel > shost->max_channel)) ||
|
||||
((id != SCAN_WILD_CARD) && (id > shost->max_id)) ||
|
||||
((id != SCAN_WILD_CARD) && (id >= shost->max_id)) ||
|
||||
((lun != SCAN_WILD_CARD) && (lun > shost->max_lun)))
|
||||
return -EINVAL;
|
||||
|
||||
|
|
Loading…
Reference in New Issue