linux/drivers/message/fusion
Michael Reed 7748369f49 [SCSI] mptsas: do not use ioc->handle to locate hba portinfo structure
While performing hardware raid reset testing via the raid's client, I
noticed that sometimes, following the reset, that there would be more
raid targets in the lsscsi output than there actually were raid
targets.  I tracked this down to the following issue.

Fusion cannot always find the mptsas_portinfo structure for the hba
because it uses the handle stored in ioc->handle to locate it.  The
problem is that the firmware can change the handle associated with the
hba when h/w raid is reset (via the raid client).  When this happens,
the driver will allocate another mptsas_portinfo structure and link it
into the chain of said structures.  This ultimately causes confusion
within the driver resulting in targets not being removed when they
should be.

Eric Moore pointed out that the hba's portinfo structure is always the
first structure on the sas_topology list.  This patch modifies
mptsas.c to access the hba's portinfo structure by taking the first
structure on said list.

Signed-off-by: Michael Reed <mdr@sgi.com>
Acked-by: "Moore, Eric" <Eric.Moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2008-04-07 12:19:00 -05:00
..
lsi Spelling fixes: lenght->length 2008-02-03 15:42:53 +02:00
Kconfig [SCSI] mpt fusion: Kconfig cleanup 2007-10-12 14:48:53 -04:00
Makefile [SCSI] mpt fusion: logging support in Kconfig, Makefile, mptbase.h and addition of mptdebug.h 2007-07-28 11:25:35 -04:00
mptbase.c [SCSI] mpt fusion: convert inactive_list_mutex to a mutex 2008-04-07 12:15:44 -05:00
mptbase.h [SCSI] mptsas: do not use ioc->handle to locate hba portinfo structure 2008-04-07 12:19:00 -05:00
mptctl.c drivers/message/: Spelling fixes 2008-02-03 17:21:01 +02:00
mptctl.h [SCSI] mpt fusion: Change company name from LSI Logic to LSI 2007-10-12 14:40:54 -04:00
mptdebug.h [SCSI] mpt fusion: logging support in Kconfig, Makefile, mptbase.h and addition of mptdebug.h 2007-07-28 11:25:35 -04:00
mptfc.c [SCSI] mpt fusion: lock down ScsiLookup 2007-10-12 14:52:15 -04:00
mptlan.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-10-15 08:19:33 -07:00
mptlan.h [SCSI] mpt fusion: Change company name from LSI Logic to LSI 2007-10-12 14:40:54 -04:00
mptsas.c [SCSI] mptsas: do not use ioc->handle to locate hba portinfo structure 2008-04-07 12:19:00 -05:00
mptsas.h [SCSI] mpt fusion: Creation of mptsas.h header file 2007-10-12 14:40:47 -04:00
mptscsih.c [SCSI] mpt fusion: convert inactive_list_mutex to a mutex 2008-04-07 12:15:44 -05:00
mptscsih.h [SCSI] mpt fusion: Change company name from LSI Logic to LSI 2007-10-12 14:40:54 -04:00
mptspi.c [SCSI] mpt fusion: fix up fusion prints using the sdev_printk, dev_printk, and shost_printk API 2007-10-12 14:52:19 -04:00