diff options
author | zhangxiangqian <zhangxiangqian@kylinos.cn> | 2024-08-08 17:39:45 +0800 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-08-09 22:01:01 -0700 |
commit | 2d5c9dd2cde33150f9dbb8ee091eff05eb6c7df3 (patch) | |
tree | 1a66698a0f0e0b86fa4d58b3bfd1d4e56d38f57b /drivers/net/usb | |
parent | 916b7d31f7eef81fe20f86ef52c36938fa971872 (diff) | |
download | lwn-2d5c9dd2cde33150f9dbb8ee091eff05eb6c7df3.tar.gz lwn-2d5c9dd2cde33150f9dbb8ee091eff05eb6c7df3.zip |
net: usb: cdc_ether: don't spew notifications
The usbnet_link_change function is not called, if the link has not changed.
...
[16913.807393][ 3] cdc_ether 1-2:2.0 enx00e0995fd1ac: kevent 12 may have been dropped
[16913.822266][ 2] cdc_ether 1-2:2.0 enx00e0995fd1ac: kevent 12 may have been dropped
[16913.826296][ 2] cdc_ether 1-2:2.0 enx00e0995fd1ac: kevent 11 may have been dropped
...
kevent 11 is scheduled too frequently and may affect other event schedules.
Signed-off-by: zhangxiangqian <zhangxiangqian@kylinos.cn>
Acked-by: Oliver Neukum <oneukum@suse.com>
Link: https://patch.msgid.link/1723109985-11996-1-git-send-email-zhangxiangqian@kylinos.cn
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/usb')
-rw-r--r-- | drivers/net/usb/cdc_ether.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c index 6d61052353f0..a6469235d904 100644 --- a/drivers/net/usb/cdc_ether.c +++ b/drivers/net/usb/cdc_ether.c @@ -418,7 +418,8 @@ void usbnet_cdc_status(struct usbnet *dev, struct urb *urb) case USB_CDC_NOTIFY_NETWORK_CONNECTION: netif_dbg(dev, timer, dev->net, "CDC: carrier %s\n", event->wValue ? "on" : "off"); - usbnet_link_change(dev, !!event->wValue, 0); + if (netif_carrier_ok(dev->net) != !!event->wValue) + usbnet_link_change(dev, !!event->wValue, 0); break; case USB_CDC_NOTIFY_SPEED_CHANGE: /* tx/rx rates */ netif_dbg(dev, timer, dev->net, "CDC: speed change (len %d)\n", |