Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Nov 2010 17:58:59 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r215459 - head/sys/dev/mii
Message-ID:  <201011181758.oAIHwxkS040173@svn.freebsd.org>

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



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