(void)cr;
err = 0;
+ ASSERT_SERIALIZED(ifp->if_serializer);
switch (command) {
case SIOCSIFADDR:
case SIOCGIFADDR:
break;
case SIOCSIFFLAGS:
- lwkt_serialize_enter(sc->ifp->if_serializer);
if (sc->dying) {
- lwkt_serialize_exit(ifp->if_serializer);
return EINVAL;
}
if (ifp->if_flags & IFF_UP) {
mxge_close(sc);
}
}
- lwkt_serialize_exit(ifp->if_serializer);
break;
case SIOCADDMULTI:
case SIOCDELMULTI:
- lwkt_serialize_enter(sc->ifp->if_serializer);
mxge_set_multicast_list(sc);
- lwkt_serialize_exit(sc->ifp->if_serializer);
break;
case SIOCSIFCAP:
- lwkt_serialize_enter(sc->ifp->if_serializer);
mask = ifr->ifr_reqcap ^ ifp->if_capenable;
if (mask & IFCAP_TXCSUM) {
if (IFCAP_TXCSUM & ifp->if_capenable) {
}
if (mask & IFCAP_VLAN_HWTAGGING)
ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING;
- lwkt_serialize_exit(sc->ifp->if_serializer);
VLAN_CAPABILITIES(ifp);
break;