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);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to