|
@@ -1653,6 +1653,19 @@ int usbnet_manage_power(struct usbnet *dev, int on)
|
|
|
}
|
|
|
EXPORT_SYMBOL(usbnet_manage_power);
|
|
|
|
|
|
+void usbnet_link_change(struct usbnet *dev, bool link, bool need_reset)
|
|
|
+{
|
|
|
+ /* update link after link is reseted */
|
|
|
+ if (link && !need_reset)
|
|
|
+ netif_carrier_on(dev->net);
|
|
|
+ else
|
|
|
+ netif_carrier_off(dev->net);
|
|
|
+
|
|
|
+ if (need_reset && link)
|
|
|
+ usbnet_defer_kevent(dev, EVENT_LINK_RESET);
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(usbnet_link_change);
|
|
|
+
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
static int __usbnet_read_cmd(struct usbnet *dev, u8 cmd, u8 reqtype,
|
|
|
u16 value, u16 index, void *data, u16 size)
|