Hi, On Tue, Nov 29, 2016 at 11:27 AM, Henning Schild <henning.schild@xxxxxxxxxxx> wrote: > commit bfe9b9d2d introduced a workaround for link status detection. > That workaround seems to cause a tight loop of usbnet_cdc_status being > called all the time, which in turn prints > "kevent 11 may have been dropped" in the kernel log all the time. Thanks for letting me/us know. I spent some time looking into the problem now and can reproduce it with a fairly recent cdc_ether dongle that I just got (also Linksys). The cause is that after every (incoming?) interrupt, usbnet_cdc_status() is called. Each interrupt contains a USB_CDC_NOTIFY_NETWORK_CONNECTION notification, reporting that the carrier is on. After my change, this will cause the interface to be set as down and then up for each interrupt, since the carrier is already is already available (__LINK_STATE_NOCARRIER is not set). I also captured the traffic on the correct USB bus and see these interrupts happening multiple times per second. When re-testing with the devices I used when developing the patch, I do not see this behavior. I only see one (with devices I assumed to be working fine) or two (MF823/910) interrupts. Other than that, it is mostly bulk transfers. I don't know which of the two behaviors (if any) are "correct" or what the best way to solve this problem is. One options is to remove the code from the generic usbnet_cdc_status() function and move it to a ZTE-specific status function inside cdc_ether. -Kristian -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html