svn commit: r218827 - head/sys/dev/dc
Pyun YongHyeon
yongari at FreeBSD.org
Fri Feb 18 23:08:06 UTC 2011
Author: yongari
Date: Fri Feb 18 23:08:05 2011
New Revision: 218827
URL: http://svn.freebsd.org/changeset/base/218827
Log:
There is no need to execute filter configuration when driver is not
running. Remove wrong driver state change in dc_setfilt_xircom().
While I'm here nuke unnecessary assignments.
Modified:
head/sys/dev/dc/if_dc.c
Modified: head/sys/dev/dc/if_dc.c
==============================================================================
--- head/sys/dev/dc/if_dc.c Fri Feb 18 22:58:46 2011 (r218826)
+++ head/sys/dev/dc/if_dc.c Fri Feb 18 23:08:05 2011 (r218827)
@@ -1334,7 +1334,6 @@ dc_setfilt_xircom(struct dc_softc *sc)
DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_TX_ON);
DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_RX_ON);
- ifp->if_drv_flags |= IFF_DRV_RUNNING;
sframe->dc_status = htole32(DC_TXSTAT_OWN);
CSR_WRITE_4(sc, DC_TXSTART, 0xFFFFFFFF);
@@ -3696,14 +3695,13 @@ dc_ioctl(struct ifnet *ifp, u_long comma
}
sc->dc_if_flags = ifp->if_flags;
DC_UNLOCK(sc);
- error = 0;
break;
case SIOCADDMULTI:
case SIOCDELMULTI:
DC_LOCK(sc);
- dc_setfilt(sc);
+ if (ifp->if_drv_flags & IFF_DRV_RUNNING)
+ dc_setfilt(sc);
DC_UNLOCK(sc);
- error = 0;
break;
case SIOCGIFMEDIA:
case SIOCSIFMEDIA:
More information about the svn-src-all
mailing list