From 4865b8aa7c5208ebfd5e38819bfdd039fb24b56b Mon Sep 17 00:00:00 2001 From: yongari Date: Thu, 20 Jul 2006 04:01:54 +0000 Subject: [PATCH] Protect EEPROM access with the driver lock. --- sys/dev/em/if_em.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/em/if_em.c b/sys/dev/em/if_em.c index a0d0dfbe95b1..e6bc244d2019 100644 --- a/sys/dev/em/if_em.c +++ b/sys/dev/em/if_em.c @@ -766,6 +766,7 @@ em_ioctl(struct ifnet *ifp, u_long command, caddr_t data) IOCTL_DEBUGOUT("ioctl rcv'd: SIOCSIFMTU (Set Interface MTU)"); + EM_LOCK(sc); switch (sc->hw.mac_type) { case em_82573: /* @@ -789,11 +790,11 @@ em_ioctl(struct ifnet *ifp, u_long command, caddr_t data) } if (ifr->ifr_mtu > max_frame_size - ETHER_HDR_LEN - ETHER_CRC_LEN) { + EM_UNLOCK(sc); error = EINVAL; break; } - EM_LOCK(sc); ifp->if_mtu = ifr->ifr_mtu; sc->hw.max_frame_size = ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN;