[SCSI] lpfc 8.1.4 : Introduce lpfc_reset_barrier() function for resets on dual channe...
authorJames Smart <James.Smart@Emulex.Com>
Tue, 7 Mar 2006 20:04:13 +0000 (15:04 -0500)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Sun, 12 Mar 2006 14:56:58 +0000 (08:56 -0600)
commit9290831f00879d4a66d3bffb609949d5ea5576fb
treef66748c875962518f9d4784fd684e189feb50d84
parent1a169689c2152ea599c94d622204f7bf5b7dc09f
[SCSI] lpfc 8.1.4 : Introduce lpfc_reset_barrier() function for resets on dual channel adapters

Introduce lpfc_reset_barrier() function for resets on dual channel adapters

Workaround for a hardware errata on dual channel asics. There is a
potential for the chip to lock up on a reset if a shared dma engine is in
use. The (ugly) work around requires a reset process which uses a mailbox
command to synchronize the independent channels prior to the reset to
avoid the issue. Unfortunately, the timing windows required to ensure this
workaround succeeds are very specific, meaning we can't release the cpu
during the barrier.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/lpfc/lpfc.h
drivers/scsi/lpfc/lpfc_crtn.h
drivers/scsi/lpfc/lpfc_hbadisc.c
drivers/scsi/lpfc/lpfc_init.c
drivers/scsi/lpfc/lpfc_sli.c