From: "Salyzyn, Mark" 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 Cc: James Bottomley Signed-off-by: Andrew Morton --- drivers/scsi/aacraid/aachba.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) diff -puN drivers/scsi/aacraid/aachba.c~aacraid-2621-rc6-mm1-aacraid-not-finding-device drivers/scsi/aacraid/aachba.c --- a/drivers/scsi/aacraid/aachba.c~aacraid-2621-rc6-mm1-aacraid-not-finding-device +++ a/drivers/scsi/aacraid/aachba.c @@ -503,8 +503,7 @@ static int _aac_probe_container1(void * 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; _