svn commit: r233587 - head/sys/dev/fxp

Pyun YongHyeon yongari at FreeBSD.org
Wed Mar 28 01:52:39 UTC 2012


Author: yongari
Date: Wed Mar 28 01:52:38 2012
New Revision: 233587
URL: http://svn.freebsd.org/changeset/base/233587

Log:
  Remove unnecessary #if as the software workaround for PCI protocol
  violation should be activated unless the system is cold-booted
  after updating EEPROM.
  The PCI protocol violation happens only when established link is
  10Mbps so the workaround should be updated whenever link state
  change is detected.  Previously the workaround was activated only
  when user checks current media status with ifconfig(8).

Modified:
  head/sys/dev/fxp/if_fxp.c

Modified: head/sys/dev/fxp/if_fxp.c
==============================================================================
--- head/sys/dev/fxp/if_fxp.c	Wed Mar 28 01:27:27 2012	(r233586)
+++ head/sys/dev/fxp/if_fxp.c	Wed Mar 28 01:52:38 2012	(r233587)
@@ -592,13 +592,11 @@ fxp_attach(device_t dev)
 			    "EEPROM checksum @ 0x%x: 0x%x -> 0x%x\n",
 			    i, sc->eeprom[i], cksum);
 			sc->eeprom[i] = cksum;
-#if 1
 			/*
 			 * If the user elects to continue, try the software
 			 * workaround, as it is better than nothing.
 			 */
 			sc->flags |= FXP_FLAG_CU_RESUME_BUG;
-#endif
 		}
 	}
 
@@ -2611,12 +2609,6 @@ fxp_ifmedia_sts(struct ifnet *ifp, struc
 	mii_pollstat(mii);
 	ifmr->ifm_active = mii->mii_media_active;
 	ifmr->ifm_status = mii->mii_media_status;
-
-	if (IFM_SUBTYPE(ifmr->ifm_active) == IFM_10_T &&
-	    sc->flags & FXP_FLAG_CU_RESUME_BUG)
-		sc->cu_resume_bug = 1;
-	else
-		sc->cu_resume_bug = 0;
 	FXP_UNLOCK(sc);
 }
 
@@ -2809,6 +2801,11 @@ fxp_miibus_statchg(device_t dev)
 	    (IFM_AVALID | IFM_ACTIVE))
 		return;
 
+	if (IFM_SUBTYPE(mii->mii_media_active) == IFM_10_T &&
+	    sc->flags & FXP_FLAG_CU_RESUME_BUG)
+		sc->cu_resume_bug = 1;
+	else
+		sc->cu_resume_bug = 0;
 	/*
 	 * Call fxp_init_body in order to adjust the flow control settings.
 	 * Note that the 82557 doesn't support hardware flow control.


More information about the svn-src-all mailing list