.status = asix_status,
        .link_reset = ax88172_link_reset,
        .reset = ax88172_link_reset,
-       .flags =  FLAG_ETHER,
+       .flags =  FLAG_ETHER | FLAG_LINK_INTR,
        .data = 0x00130103,
 };
 
        .status = asix_status,
        .link_reset = ax88172_link_reset,
        .reset = ax88172_link_reset,
-       .flags =  FLAG_ETHER,
+       .flags =  FLAG_ETHER | FLAG_LINK_INTR,
        .data = 0x009f9d9f,
 };
 
        .status = asix_status,
        .link_reset = ax88172_link_reset,
        .reset = ax88172_link_reset,
-       .flags =  FLAG_ETHER,
+       .flags =  FLAG_ETHER | FLAG_LINK_INTR,
        .data = 0x00130103,
 };
 
        .status = asix_status,
        .link_reset = ax88172_link_reset,
        .reset = ax88172_link_reset,
-       .flags =  FLAG_ETHER,
+       .flags =  FLAG_ETHER | FLAG_LINK_INTR,
        .data = 0x001f1d1f,
 };
 
        .status = asix_status,
        .link_reset = ax88772_link_reset,
        .reset = ax88772_link_reset,
-       .flags = FLAG_ETHER | FLAG_FRAMING_AX,
+       .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_LINK_INTR,
        .rx_fixup = asix_rx_fixup,
        .tx_fixup = asix_tx_fixup,
 };
        .status = asix_status,
        .link_reset = ax88178_link_reset,
        .reset = ax88178_link_reset,
-       .flags = FLAG_ETHER | FLAG_FRAMING_AX,
+       .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_LINK_INTR,
        .rx_fixup = asix_rx_fixup,
        .tx_fixup = asix_tx_fixup,
 };
 
 
 static const struct driver_info        cdc_info = {
        .description =  "CDC Ethernet Device",
-       .flags =        FLAG_ETHER,
+       .flags =        FLAG_ETHER | FLAG_LINK_INTR,
        // .check_connect = cdc_check_connect,
        .bind =         cdc_bind,
        .unbind =       usbnet_cdc_unbind,
 
 
 static const struct driver_info dm9601_info = {
        .description    = "Davicom DM9601 USB Ethernet",
-       .flags          = FLAG_ETHER,
+       .flags          = FLAG_ETHER | FLAG_LINK_INTR,
        .bind           = dm9601_bind,
        .rx_fixup       = dm9601_rx_fixup,
        .tx_fixup       = dm9601_tx_fixup,
 
 #define FLAG_SEND_ZLP  0x0200          /* hw requires ZLPs are sent */
 #define FLAG_WWAN      0x0400          /* use "wwan%d" names */
 
+#define FLAG_LINK_INTR 0x0800          /* updates link (carrier) status */
 
        /* init device ... can sleep, or cause probe() failure */
        int     (*bind)(struct usbnet *, struct usb_interface *);