svn commit: r218827 - head/sys/dev/dc

Pyun YongHyeon yongari at FreeBSD.org
Fri Feb 18 23:08:05 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-head mailing list