changeset 13484:336a3bc9a633

1597 bge regression on some older hardware Reviewed by: Eric Schrock <eric.schrock@delphix.com> Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com> Reviewed by: Milan Jurik <milan.jurik@xylab.cz> Reviewed by: Albert Lee <albert.lee@nexenta.com> Approved by: Gordon Ross <gwr@nexenta.com>
author Garrett D'Amore <garrett@nexenta.com>
date Tue, 18 Oct 2011 08:05:58 -0700
parents f413e6c5d297
children d90c0839897e
files usr/src/uts/common/io/bge/bge_chip2.c
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/common/io/bge/bge_chip2.c	Sun Oct 09 20:57:47 2011 +0100
+++ b/usr/src/uts/common/io/bge/bge_chip2.c	Tue Oct 18 08:05:58 2011 -0700
@@ -23,6 +23,10 @@
  * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
  */
 
+/*
+ * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
+ */
+
 #include "bge_impl.h"
 
 #define	PIO_ADDR(bgep, offset)	((void *)((caddr_t)(bgep)->io_regs+(offset)))
@@ -3306,9 +3310,6 @@
 		for (i = 0; i < 1000; ++i) {
 			drv_usecwait(1000);
 			gen = bge_nic_get64(bgep, NIC_MEM_GENCOMM) >> 32;
-			if (i == 0 && DEVICE_5704_SERIES_CHIPSETS(bgep))
-				drv_usecwait(100000);
-			mac = bge_reg_get64(bgep, MAC_ADDRESS_REG(0));
 #ifdef BGE_IPMI_ASF
 			if (!bgep->asf_enabled) {
 #endif
@@ -3317,6 +3318,7 @@
 #ifdef BGE_IPMI_ASF
 			}
 #endif
+			mac = bge_reg_get64(bgep, MAC_ADDRESS_REG(0));
 			if (mac != 0ULL)
 				break;
 			if (bgep->bge_chip_state != BGE_CHIP_INITIAL)