aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/message/fusion/mptfc.c
diff options
context:
space:
mode:
authorMichael Reed <mdr@sgi.com>2006-07-31 13:19:40 -0400
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-08-06 16:47:31 -0400
commit77d88ee275aeba5da447987f30401bbd4c901ca9 (patch)
tree1ede23b8e5ab90fe3aaebfd2dc1f79959c77fd87 /drivers/message/fusion/mptfc.c
parent3e74051bc7b780c5ba28939f9d5c4cd3280a5ff7 (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/message/fusion/mptfc.c')
-rw-r--r--drivers/message/fusion/mptfc.c5
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;