Author: yongari
Date: Wed Nov 16 22:09:14 2011
New Revision: 227591
URL: http://svn.freebsd.org/changeset/base/227591

Log:
  Add missing driver lock in SIOCSIFCAP handler.

Modified:
  head/sys/dev/re/if_re.c

Modified: head/sys/dev/re/if_re.c
==============================================================================
--- head/sys/dev/re/if_re.c     Wed Nov 16 22:05:38 2011        (r227590)
+++ head/sys/dev/re/if_re.c     Wed Nov 16 22:09:14 2011        (r227591)
@@ -3312,6 +3312,7 @@ re_ioctl(struct ifnet *ifp, u_long comma
                        }
                }
 #endif /* DEVICE_POLLING */
+               RL_LOCK(sc);
                if ((mask & IFCAP_TXCSUM) != 0 &&
                    (ifp->if_capabilities & IFCAP_TXCSUM) != 0) {
                        ifp->if_capenable ^= IFCAP_TXCSUM;
@@ -3370,8 +3371,9 @@ re_ioctl(struct ifnet *ifp, u_long comma
                }
                if (reinit && ifp->if_drv_flags & IFF_DRV_RUNNING) {
                        ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
-                       re_init(sc);
+                       re_init_locked(sc);
                }
+               RL_UNLOCK(sc);
                VLAN_CAPABILITIES(ifp);
            }
                break;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to