svn commit: r215459 - head/sys/dev/mii

Marius Strobl marius at FreeBSD.org
Thu Nov 18 17:58:59 UTC 2010


Author: marius
Date: Thu Nov 18 17:58:59 2010
New Revision: 215459
URL: http://svn.freebsd.org/changeset/base/215459

Log:
  Fix a bug introduced with r215298; when atphy_reset() is called from
  atphy_attach() the current media has not been set, yet, leading to a
  NULL-dereference in atphy_setmedia().
  
  Submitted by:	jkim (initial version)

Modified:
  head/sys/dev/mii/atphy.c

Modified: head/sys/dev/mii/atphy.c
==============================================================================
--- head/sys/dev/mii/atphy.c	Thu Nov 18 17:50:23 2010	(r215458)
+++ head/sys/dev/mii/atphy.c	Thu Nov 18 17:58:59 2010	(r215459)
@@ -317,6 +317,7 @@ atphy_status(struct mii_softc *sc)
 static void
 atphy_reset(struct mii_softc *sc)
 {
+	struct ifmedia_entry *ife = sc->mii_pdata->mii_media.ifm_cur;
 	struct atphy_softc *asc;
 	uint32_t reg;
 	int i;
@@ -339,7 +340,7 @@ atphy_reset(struct mii_softc *sc)
 	PHY_WRITE(sc, ATPHY_SCR, reg);
 
 	/* Workaround F1 bug to reset phy. */
-	atphy_setmedia(sc, sc->mii_pdata->mii_media.ifm_cur->ifm_media);
+	atphy_setmedia(sc, ife == NULL ? IFM_AUTO : ife->ifm_media);
 
 	for (i = 0; i < 1000; i++) {
 		DELAY(1);


More information about the svn-src-head mailing list