[BRIDGE] br_if: Fix oops in port_carrier_check
[linux-drm-fsl-dcu.git] / net / bridge / br_notify.c
index 8cd3e422907001eec79a146c17ad22856ca5fbaf..3311c4e30829ed93c6e3ce2d004f956eb8e60758 100644 (file)
@@ -56,7 +56,9 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v
 
        case NETDEV_CHANGE:
                if (br->dev->flags & IFF_UP)
-                       schedule_delayed_work(&p->carrier_check, BR_PORT_DEBOUNCE);
+                       if (schedule_delayed_work(&p->carrier_check,
+                                               BR_PORT_DEBOUNCE))
+                               dev_hold(dev);
                break;
 
        case NETDEV_FEAT_CHANGE: