diff options
author | Michael Reed <mdr@sgi.com> | 2006-07-31 13:19:40 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-08-06 16:47:31 -0400 |
commit | 77d88ee275aeba5da447987f30401bbd4c901ca9 (patch) | |
tree | 1ede23b8e5ab90fe3aaebfd2dc1f79959c77fd87 /drivers | |
parent | 3e74051bc7b780c5ba28939f9d5c4cd3280a5ff7 (diff) |
[SCSI] mptfc: 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 <mdr@sgi.com>
Acked-by: Moore, Eric <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/message/fusion/mptfc.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/message/fusion/mptfc.c b/drivers/message/fusion/mptfc.c index 90da7d63b08e..2144554a640d 100644 --- a/drivers/message/fusion/mptfc.c +++ b/drivers/message/fusion/mptfc.c | |||
@@ -669,7 +669,10 @@ mptfc_GetFcPortPage0(MPT_ADAPTER *ioc, int portnum) | |||
669 | * if still doing discovery, | 669 | * if still doing discovery, |
670 | * hang loose a while until finished | 670 | * hang loose a while until finished |
671 | */ | 671 | */ |
672 | if (pp0dest->PortState == MPI_FCPORTPAGE0_PORTSTATE_UNKNOWN) { | 672 | if ((pp0dest->PortState == MPI_FCPORTPAGE0_PORTSTATE_UNKNOWN) || |
673 | (pp0dest->PortState == MPI_FCPORTPAGE0_PORTSTATE_ONLINE && | ||
674 | (pp0dest->Flags & MPI_FCPORTPAGE0_FLAGS_ATTACH_TYPE_MASK) | ||
675 | == MPI_FCPORTPAGE0_FLAGS_ATTACH_NO_INIT)) { | ||
673 | if (count-- > 0) { | 676 | if (count-- > 0) { |
674 | msleep(100); | 677 | msleep(100); |
675 | goto try_again; | 678 | goto try_again; |