fusion: fibre channel: properly wait for firmware target discovery to complete
Subsystems (2)
PATCH 2/4 fusion: fibre channel: properly wait for firmware target discovery to complete
Based upon a conversation I had with LSI's fibre channel firmware guru, this patch adds another condition under which the driver waits for the firmware link initialization / target discovery to complete.
Signed-off-by Michael Reed <[email protected]>
drivers/message/fusion/mptfc.c +4 -1
@@ -675,7 +675,10 @@ mptfc_GetFcPortPage0(MPT_ADAPTER *ioc, i* if still doing discovery, * hang loose a while until finished */ -if (pp0dest->PortState ==MPI_FCPORTPAGE0_PORTSTATE_UNKNOWN ) { +if ((pp0dest->PortState ==MPI_FCPORTPAGE0_PORTSTATE_UNKNOWN ) || + (pp0dest->PortState ==MPI_FCPORTPAGE0_PORTSTATE_ONLINE && + (pp0dest->Flags &MPI_FCPORTPAGE0_FLAGS_ATTACH_TYPE_MASK ) + ==MPI_FCPORTPAGE0_FLAGS_ATTACH_NO_INIT )) {if (count-- >0 ) {msleep (100 ); goto try_again;