svn commit: r188105 - user/thompsa/usb/sys/dev/usb2/ethernet

Andrew Thompson thompsa at FreeBSD.org
Tue Feb 3 14:22:10 PST 2009


Author: thompsa
Date: Tue Feb  3 22:22:07 2009
New Revision: 188105
URL: http://svn.freebsd.org/changeset/base/188105

Log:
  Add pauses in the register read/write loops.
  
  Submitted by:	HPS

Modified:
  user/thompsa/usb/sys/dev/usb2/ethernet/if_aue2.c

Modified: user/thompsa/usb/sys/dev/usb2/ethernet/if_aue2.c
==============================================================================
--- user/thompsa/usb/sys/dev/usb2/ethernet/if_aue2.c	Tue Feb  3 20:48:17 2009	(r188104)
+++ user/thompsa/usb/sys/dev/usb2/ethernet/if_aue2.c	Tue Feb  3 22:22:07 2009	(r188105)
@@ -352,6 +352,7 @@ aue_eeprom_getword(struct aue_softc *sc,
 	for (i = 0; i < AUE_TIMEOUT; i++) {
 		if (aue_csr_read_1(sc, AUE_EE_CTL) & AUE_EECTL_DONE)
 			break;
+		usb2_pause_mtx(&sc->sc_mtx, hz / 100);
 	}
 
 	if (i == AUE_TIMEOUT)
@@ -402,6 +403,7 @@ aue_miibus_readreg(device_t dev, int phy
 	for (i = 0; i < AUE_TIMEOUT; i++) {
 		if (aue_csr_read_1(sc, AUE_PHY_CTL) & AUE_PHYCTL_DONE)
 			break;
+		usb2_pause_mtx(&sc->sc_mtx, hz / 100);
 	}
 
 	if (i == AUE_TIMEOUT)
@@ -434,6 +436,7 @@ aue_miibus_writereg(device_t dev, int ph
 	for (i = 0; i < AUE_TIMEOUT; i++) {
 		if (aue_csr_read_1(sc, AUE_PHY_CTL) & AUE_PHYCTL_DONE)
 			break;
+		usb2_pause_mtx(&sc->sc_mtx, hz / 100);
 	}
 
 	if (i == AUE_TIMEOUT)
@@ -542,6 +545,7 @@ aue_reset(struct aue_softc *sc)
 	for (i = 0; i < AUE_TIMEOUT; i++) {
 		if (!(aue_csr_read_1(sc, AUE_CTL1) & AUE_CTL1_RESETMAC))
 			break;
+		usb2_pause_mtx(&sc->sc_mtx, hz / 100);
 	}
 
 	if (i == AUE_TIMEOUT)


More information about the svn-src-user mailing list