Deleted Added
full compact
31c31
< __FBSDID("$FreeBSD: head/sys/dev/gem/if_gem.c 148368 2005-07-24 18:12:31Z marius $");
---
> __FBSDID("$FreeBSD: head/sys/dev/gem/if_gem.c 148369 2005-07-24 18:45:15Z marius $");
52a53
> #include <sys/lock.h>
53a55
> #include <sys/mutex.h>
75a78
> static void gem_start_locked(struct ifnet *);
83a87
> static void gem_init_locked(struct gem_softc *sc);
134a139,140
> GEM_LOCK_ASSERT(sc, MA_NOTOWNED);
>
140a147
> GEM_LOCK(sc);
141a149
> GEM_UNLOCK(sc);
228a237
> GEM_LOCK(sc);
229a239
> GEM_UNLOCK(sc);
258,259c268
< ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST |
< IFF_NEEDSGIANT;
---
> ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
323c332
< callout_init(&sc->sc_tick_ch, 0);
---
> callout_init(&sc->sc_tick_ch, CALLOUT_MPSAFE);
325c334
< callout_init(&sc->sc_rx_ch, 0);
---
> callout_init(&sc->sc_rx_ch, CALLOUT_MPSAFE);
368a378,380
> GEM_LOCK_ASSERT(sc, MA_NOTOWNED);
>
> GEM_LOCK(sc);
369a382
> GEM_UNLOCK(sc);
400a414
> GEM_LOCK(sc);
401a416
> GEM_UNLOCK(sc);
409a425
> GEM_LOCK(sc);
411c427,428
< gem_init(ifp);
---
> gem_init_locked(sc);
> GEM_UNLOCK(sc);
512d528
< int s;
514d529
< s = splnet();
516d530
< splx(s);
545d558
< int s;
547d559
< s = splnet();
558d569
< splx(s);
835a847,857
> static void
> gem_init(xsc)
> void *xsc;
> {
> struct gem_softc *sc = (struct gem_softc *)xsc;
>
> GEM_LOCK(sc);
> gem_init_locked(sc);
> GEM_UNLOCK(sc);
> }
>
841,842c863,864
< gem_init(xsc)
< void *xsc;
---
> gem_init_locked(sc)
> struct gem_softc *sc;
844d865
< struct gem_softc *sc = (struct gem_softc *)xsc;
848d868
< int s;
851c871
< s = splnet();
---
> GEM_LOCK_ASSERT(sc, MA_OWNED);
937a958
> GEM_UNLOCK(sc);
938a960
> GEM_LOCK(sc);
957d978
< splx(s);
1106a1128,1138
>
> GEM_LOCK(sc);
> gem_start_locked(ifp);
> GEM_UNLOCK(sc);
> }
>
> static void
> gem_start_locked(ifp)
> struct ifnet *ifp;
> {
> struct gem_softc *sc = (struct gem_softc *)ifp->if_softc;
1311c1343
< gem_start(ifp);
---
> gem_start_locked(ifp);
1327a1360
> struct gem_softc *sc = (struct gem_softc *)arg;
1329c1362,1364
< gem_rint((struct gem_softc *)arg);
---
> GEM_LOCK(sc);
> gem_rint(sc);
> GEM_UNLOCK(sc);
1431a1467
> GEM_UNLOCK(sc);
1432a1469
> GEM_LOCK(sc);
1528a1566
> GEM_LOCK(sc);
1552c1590
< gem_init(sc);
---
> gem_init_locked(sc);
1560c1598
< gem_init(sc);
---
> gem_init_locked(sc);
1561a1600
> GEM_UNLOCK(sc);
1570a1610
> GEM_LOCK(sc);
1588c1628,1629
< gem_init(ifp);
---
> gem_init_locked(sc);
> GEM_UNLOCK(sc);
1600a1642,1643
> GEM_LOCK_ASSERT(sc, MA_OWNED);
>
1631a1675
> GEM_LOCK(sc);
1655c1699,1700
< if (v & GEM_MIF_FRAME_TA0)
---
> if (v & GEM_MIF_FRAME_TA0) {
> GEM_UNLOCK(sc);
1656a1702
> }
1659a1706
> GEM_UNLOCK(sc);
1673a1721
> GEM_LOCK(sc);
1698c1746,1747
< if (v & GEM_MIF_FRAME_TA0)
---
> if (v & GEM_MIF_FRAME_TA0) {
> GEM_UNLOCK(sc);
1699a1749
> }
1702a1753
> GEM_UNLOCK(sc);
1712c1763
< int instance = IFM_INST(sc->sc_mii->mii_media.ifm_cur->ifm_media);
---
> int instance;
1717a1769
> GEM_LOCK(sc);
1718a1771
> instance = IFM_INST(sc->sc_mii->mii_media.ifm_cur->ifm_media);
1757a1811
> GEM_UNLOCK(sc);
1778c1832,1834
< if ((ifp->if_flags & IFF_UP) == 0)
---
> GEM_LOCK(sc);
> if ((ifp->if_flags & IFF_UP) == 0) {
> GEM_UNLOCK(sc);
1779a1836
> }
1780a1838
> GEM_UNLOCK(sc);
1781a1840
> GEM_LOCK(sc);
1783a1843
> GEM_UNLOCK(sc);
1797c1857
< int s, error = 0;
---
> int error = 0;
1798a1859,1860
> GEM_LOCK(sc);
>
1802a1865
> GEM_UNLOCK(sc);
1803a1867
> GEM_LOCK(sc);
1810c1874
< gem_init(sc);
---
> gem_init_locked(sc);
1824a1889
> GEM_UNLOCK(sc);
1825a1891
> GEM_LOCK(sc);
1834,1835c1900,1901
< gem_start(ifp);
< splx(s);
---
> gem_start_locked(ifp);
> GEM_UNLOCK(sc);
1854a1921,1922
> GEM_LOCK_ASSERT(sc, MA_OWNED);
>