diff options
author | Hannes Reinecke <hare@suse.de> | 2006-05-23 04:29:28 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-05-28 13:07:41 -0400 |
commit | 2b89dad0c7e3b03d45d9674ee9a7b49670df098e (patch) | |
tree | 8f480172c865e9d6cfab9ed4888a043bc75ab4ce | |
parent | 091686d3b5569d2ec76b9e6dab7f3608b6f64497 (diff) |
[SCSI] audit drivers for incorrect max_id use
max_id now means the maximum number of ids on the bus, which means it
is one greater than the largest possible id number.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
-rw-r--r-- | drivers/scsi/53c700.c | 2 | ||||
-rw-r--r-- | drivers/scsi/53c7xx.c | 4 | ||||
-rw-r--r-- | drivers/scsi/aic7xxx/aic79xx_core.c | 4 | ||||
-rw-r--r-- | drivers/scsi/aic7xxx/aic7xxx_core.c | 4 | ||||
-rw-r--r-- | drivers/scsi/atp870u.c | 2 |
5 files changed, 8 insertions, 8 deletions
diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c index 6a0f9506ea00..b767918b9a98 100644 --- a/drivers/scsi/53c700.c +++ b/drivers/scsi/53c700.c | |||
@@ -376,7 +376,7 @@ NCR_700_detect(struct scsi_host_template *tpnt, | |||
376 | dma_sync_single_for_device(hostdata->dev, pScript, sizeof(SCRIPT), DMA_TO_DEVICE); | 376 | dma_sync_single_for_device(hostdata->dev, pScript, sizeof(SCRIPT), DMA_TO_DEVICE); |
377 | hostdata->state = NCR_700_HOST_FREE; | 377 | hostdata->state = NCR_700_HOST_FREE; |
378 | hostdata->cmd = NULL; | 378 | hostdata->cmd = NULL; |
379 | host->max_id = 7; | 379 | host->max_id = 8; |
380 | host->max_lun = NCR_700_MAX_LUNS; | 380 | host->max_lun = NCR_700_MAX_LUNS; |
381 | BUG_ON(NCR_700_transport_template == NULL); | 381 | BUG_ON(NCR_700_transport_template == NULL); |
382 | host->transportt = NCR_700_transport_template; | 382 | host->transportt = NCR_700_transport_template; |
diff --git a/drivers/scsi/53c7xx.c b/drivers/scsi/53c7xx.c index 7894b8ea84bd..cfc991271cc8 100644 --- a/drivers/scsi/53c7xx.c +++ b/drivers/scsi/53c7xx.c | |||
@@ -709,7 +709,7 @@ request_synchronous (int host, int target) { | |||
709 | printk (KERN_ALERT "target %d is host ID\n", target); | 709 | printk (KERN_ALERT "target %d is host ID\n", target); |
710 | return -1; | 710 | return -1; |
711 | } | 711 | } |
712 | else if (target > h->max_id) { | 712 | else if (target >= h->max_id) { |
713 | printk (KERN_ALERT "target %d exceeds maximum of %d\n", target, | 713 | printk (KERN_ALERT "target %d exceeds maximum of %d\n", target, |
714 | h->max_id); | 714 | h->max_id); |
715 | return -1; | 715 | return -1; |
@@ -3622,7 +3622,7 @@ NCR53c7xx_queue_command (Scsi_Cmnd *cmd, void (* done)(Scsi_Cmnd *)) { | |||
3622 | #ifdef LINUX_1_2 | 3622 | #ifdef LINUX_1_2 |
3623 | || cmd->device->id > 7 | 3623 | || cmd->device->id > 7 |
3624 | #else | 3624 | #else |
3625 | || cmd->device->id > host->max_id | 3625 | || cmd->device->id >= host->max_id |
3626 | #endif | 3626 | #endif |
3627 | || cmd->device->id == host->this_id | 3627 | || cmd->device->id == host->this_id |
3628 | || hostdata->state == STATE_DISABLED) { | 3628 | || hostdata->state == STATE_DISABLED) { |
diff --git a/drivers/scsi/aic7xxx/aic79xx_core.c b/drivers/scsi/aic7xxx/aic79xx_core.c index 08771f6f6859..e14244aa69d7 100644 --- a/drivers/scsi/aic7xxx/aic79xx_core.c +++ b/drivers/scsi/aic7xxx/aic79xx_core.c | |||
@@ -9396,8 +9396,8 @@ ahd_find_tmode_devs(struct ahd_softc *ahd, struct cam_sim *sim, union ccb *ccb, | |||
9396 | } else { | 9396 | } else { |
9397 | u_int max_id; | 9397 | u_int max_id; |
9398 | 9398 | ||
9399 | max_id = (ahd->features & AHD_WIDE) ? 15 : 7; | 9399 | max_id = (ahd->features & AHD_WIDE) ? 16 : 8; |
9400 | if (ccb->ccb_h.target_id > max_id) | 9400 | if (ccb->ccb_h.target_id >= max_id) |
9401 | return (CAM_TID_INVALID); | 9401 | return (CAM_TID_INVALID); |
9402 | 9402 | ||
9403 | if (ccb->ccb_h.target_lun >= AHD_NUM_LUNS) | 9403 | if (ccb->ccb_h.target_lun >= AHD_NUM_LUNS) |
diff --git a/drivers/scsi/aic7xxx/aic7xxx_core.c b/drivers/scsi/aic7xxx/aic7xxx_core.c index d37566978fba..50a3dd047cfe 100644 --- a/drivers/scsi/aic7xxx/aic7xxx_core.c +++ b/drivers/scsi/aic7xxx/aic7xxx_core.c | |||
@@ -6774,8 +6774,8 @@ ahc_find_tmode_devs(struct ahc_softc *ahc, struct cam_sim *sim, union ccb *ccb, | |||
6774 | } else { | 6774 | } else { |
6775 | u_int max_id; | 6775 | u_int max_id; |
6776 | 6776 | ||
6777 | max_id = (ahc->features & AHC_WIDE) ? 15 : 7; | 6777 | max_id = (ahc->features & AHC_WIDE) ? 16 : 8; |
6778 | if (ccb->ccb_h.target_id > max_id) | 6778 | if (ccb->ccb_h.target_id >= max_id) |
6779 | return (CAM_TID_INVALID); | 6779 | return (CAM_TID_INVALID); |
6780 | 6780 | ||
6781 | if (ccb->ccb_h.target_lun >= AHC_NUM_LUNS) | 6781 | if (ccb->ccb_h.target_lun >= AHC_NUM_LUNS) |
diff --git a/drivers/scsi/atp870u.c b/drivers/scsi/atp870u.c index a198d86667e9..58d7e34807aa 100644 --- a/drivers/scsi/atp870u.c +++ b/drivers/scsi/atp870u.c | |||
@@ -3047,7 +3047,7 @@ flash_ok_885: | |||
3047 | if (atp_dev.chip_ver == 4) | 3047 | if (atp_dev.chip_ver == 4) |
3048 | shpnt->max_id = 16; | 3048 | shpnt->max_id = 16; |
3049 | else | 3049 | else |
3050 | shpnt->max_id = 7; | 3050 | shpnt->max_id = 8; |
3051 | shpnt->this_id = host_id; | 3051 | shpnt->this_id = host_id; |
3052 | shpnt->unique_id = base_io; | 3052 | shpnt->unique_id = base_io; |
3053 | shpnt->io_port = base_io; | 3053 | shpnt->io_port = base_io; |