Hi all, the current inquiry code in scsi_scan.c:scsi_probe_lun() will retry the inquiry only for ASC/ASCQ 0x28/0x0 and 0x29/0x0. When I'm hot-plugging a disk no reset has necessarily happened, so the first rescan will fail. The disk is found properly on the second rescan. So we really should loosen that statement to do retry for all ASC 0x29 values as a power-on might well have occured without a reset. Please apply. Cheers, Hannes -- Dr. Hannes Reinecke hare@xxxxxxx SuSE Linux Products GmbH S390 & zSeries Maxfeldstraße 5 +49 911 74053 688 90409 Nürnberg http://www.suse.de
From: Hannes Reinecke <hare@xxxxxxx> Subject: Retry INQUIRY on power-on The current code retries INQUIRY only for ASC/ASCQ 0x29/0x0 (POWER ON, RESET, OR BUS DEVICE RESET OCCURRED). This means drives which have been hot-removed (ie without a reset) won't be detected upon rescan. So we should loose this condition to enable a retry for the ASC 0x29 in general. Signed-off-by: Hannes Reinecke diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index f149459..f6ead5c 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c @@ -514,8 +514,7 @@ static int scsi_probe_lun(struct scsi_de scsi_sense_valid(&sshdr)) { if ((sshdr.sense_key == UNIT_ATTENTION) && ((sshdr.asc == 0x28) || - (sshdr.asc == 0x29)) && - (sshdr.ascq == 0)) + (sshdr.asc == 0x29))) continue; } }