From: Salyzyn, Mark Date: Fri, 13 Apr 2007 12:35:25 +0000 (-0400) Subject: [SCSI] aacraid: fix aacraid not finding device X-Git-Tag: firefly_0821_release~30165^2~6 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4def7fa11208f779f22e6ba7344370b0220d3350;p=firefly-linux-kernel-4.4.55.git [SCSI] aacraid: fix aacraid not finding device Thanks for the help from Steve Fox and Duane Cox investigating this issue, I'd like to report that we found the problem. The issue is with the patch Steve Fox isolated below, by not accommodating older adapters properly and issuing a command they do not support when retrieving storage parameters about the arrays. This simple patch resolves the problem (and more accurately mimics the logic of the original code before the patch). Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c index 31ac9f56cd1f..1e82c69b36b0 100644 --- a/drivers/scsi/aacraid/aachba.c +++ b/drivers/scsi/aacraid/aachba.c @@ -503,8 +503,7 @@ static int _aac_probe_container1(void * context, struct fib * fibptr) dresp = (struct aac_mount *) fib_data(fibptr); dresp->mnt[0].capacityhigh = 0; if ((le32_to_cpu(dresp->status) != ST_OK) || - ((le32_to_cpu(dresp->mnt[0].vol) != CT_NONE) && - (le32_to_cpu(dresp->mnt[0].state) == FSCS_HIDDEN))) + (le32_to_cpu(dresp->mnt[0].vol) != CT_NONE)) return _aac_probe_container2(context, fibptr); scsicmd = (struct scsi_cmnd *) context; scsicmd->SCp.phase = AAC_OWNER_MIDLEVEL;