emx: Status change is protected by main serializer
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Thu, 9 Aug 2012 06:56:45 +0000 (14:56 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Thu, 9 Aug 2012 06:56:45 +0000 (14:56 +0800)
No need to hold all of the serializers during a status poll

sys/dev/netif/emx/if_emx.c

index 616e41d..1a56c4b 100644 (file)
@@ -3622,14 +3622,10 @@ emx_qpoll_status(struct ifnet *ifp, int pollhz __unused)
 
        reg_icr = E1000_READ_REG(&sc->hw, E1000_ICR);
        if (reg_icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC)) {
 
        reg_icr = E1000_READ_REG(&sc->hw, E1000_ICR);
        if (reg_icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC)) {
-               emx_serialize_skipmain(sc);
-
                callout_stop(&sc->timer);
                sc->hw.mac.get_link_status = 1;
                emx_update_link_status(sc);
                callout_reset(&sc->timer, hz, emx_timer, sc);
                callout_stop(&sc->timer);
                sc->hw.mac.get_link_status = 1;
                emx_update_link_status(sc);
                callout_reset(&sc->timer, hz, emx_timer, sc);
-
-               emx_deserialize_skipmain(sc);
        }
 }
 
        }
 }