Re: cdc_ether flooding kernel logs since bfe9b9d2d
Hi, On Wed, Nov 30, 2016 at 4:17 PM, Oliver Neukumwrote: > On Tue, 2016-11-29 at 14:41 +0100, Kristian Evensen wrote: >> 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. > > Hi, > > please do so. This looks like the cleanest approach. Ok, great. I will do this right away and submit a patch tonight. Again, sorry for this. -Kristian -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: cdc_ether flooding kernel logs since bfe9b9d2d
On Tue, 2016-11-29 at 14:41 +0100, Kristian Evensen wrote: > 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. Hi, please do so. This looks like the cleanest approach. Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: cdc_ether flooding kernel logs since bfe9b9d2d
Hi, On Tue, Nov 29, 2016 at 11:27 AM, Henning Schildwrote: > 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
cdc_ether flooding kernel logs since bfe9b9d2d
Hi, 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. I am not sure about the semantics, i just found the commit causing the problem and a workaround for my device. For me just removing the workaround block works, so does inserting a break so usbnet_link_change does not get called twice. But with the break ethtool wont report a link anymore. I am guessing that calling usbnet_link_change twice in a row (off and then on) will trigger an event that ends up on the very same codepath. The problem is already described in several bugtrackers: https://bugzilla.kernel.org/show_bug.cgi?id=185641 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1626371 https://bugzilla.redhat.com/show_bug.cgi?id=1383810 My device is a "13b1:0041 Linksys". regards, Henning -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html