]> git.baikalelectronics.ru Git - kernel.git/commitdiff
lan78xx: Limit number of driver warning messages
authorJohn Efstathiades <john.efstathiades@pebblebay.com>
Tue, 24 Aug 2021 18:56:13 +0000 (19:56 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 25 Aug 2021 09:55:43 +0000 (10:55 +0100)
Device removal can result in a large burst of driver warning messages
(20 - 30) sent to the kernel log. Most of these are register read/write
failures.

This change limits the rate at which these messages are emitted.

Signed-off-by: John Efstathiades <john.efstathiades@pebblebay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/lan78xx.c

index 4ec752d9751a9fccd7ede5615c79a52dd0719fc7..793f8fbe0069a4dc9ec586f8c406a192a27adfab 100644 (file)
@@ -462,7 +462,7 @@ static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
        if (likely(ret >= 0)) {
                le32_to_cpus(buf);
                *data = *buf;
-       } else {
+       } else if (net_ratelimit()) {
                netdev_warn(dev->net,
                            "Failed to read register index 0x%08x. ret = %d",
                            index, ret);
@@ -492,7 +492,8 @@ static int lan78xx_write_reg(struct lan78xx_net *dev, u32 index, u32 data)
                              USB_VENDOR_REQUEST_WRITE_REGISTER,
                              USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
                              0, index, buf, 4, USB_CTRL_SET_TIMEOUT);
-       if (unlikely(ret < 0)) {
+       if (unlikely(ret < 0) &&
+           net_ratelimit()) {
                netdev_warn(dev->net,
                            "Failed to write register index 0x%08x. ret = %d",
                            index, ret);