IPR RAID arrays show up on a virtual scsi bus, with a scsi bus number of 255, which is generated by the adapter microcode. For the initial scan of the host, we manually scan this bus since it does not obey SAM in regards to sparse LUNs and the disk array devices do not have a consistent product id to use scsi core's blacklist. If /proc/scsi/scsi or sysfs is used to delete one of these devices, the device will not be able to get added back by rescanning the host since scsi core will see ipr's max_channel as 4, rather than 255. Update max_channel after the initial scan so that ipr raid arrays can get re-added if they get deleted. Signed-off-by: Brian King <brking@xxxxxxxxxx> --- drivers/scsi/ipr.c | 1 + 1 files changed, 1 insertion(+) diff -puN drivers/scsi/ipr.c~ipr_rescan_fix drivers/scsi/ipr.c --- linux-2.6/drivers/scsi/ipr.c~ipr_rescan_fix 2005-10-30 22:55:46.794213536 -0600 +++ linux-2.6-bjking1/drivers/scsi/ipr.c 2005-10-30 22:55:46.819209736 -0600 @@ -6008,6 +6008,7 @@ static int __devinit ipr_probe(struct pc ipr_scan_vsets(ioa_cfg); scsi_add_device(ioa_cfg->host, IPR_IOA_BUS, IPR_IOA_TARGET, IPR_IOA_LUN); ioa_cfg->allow_ml_add_del = 1; + ioa_cfg->host->max_channel = IPR_VSET_BUS; schedule_work(&ioa_cfg->work_q); return 0; } _ - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html