Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Mar 2012 01:52:39 +0000 (UTC)
From:      Pyun YongHyeon <yongari@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r233587 - head/sys/dev/fxp
Message-ID:  <201203280152.q2S1qdhh012888@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203280152.q2S1qdhh012888>