Message ID | 20240228101042.728881-1-javierm@redhat.com (mailing list archive) |
---|---|
State | Accepted |
Commit | f6e36d9e1c6353b74f1511ea18aa7c6fddd6e697 |
Delegated to: | Kalle Valo |
Headers | show |
Series | [v2] wlcore: sdio: Rate limit wl12xx_sdio_raw_{read,write}() failures warns | expand |
Javier Martinez Canillas <javierm@redhat.com> wrote: > When these failures happen, the warning and call trace is printed which is > excessive. Instead, just print the error but rate limited to prevent warns > to unnecessarily pollute the kernel log buffer and make the serial console > practically unusable. > > For example, on an AM625 BeaglePlay board where accessing a SDIO WiFi chip > fails with an -110 (ETIMEDOUT) error: > > $ dmesg | grep "sdio write\|read failed (-110)" | wc -l > 39 > > Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> > Reviewed-by: Breno Leitao <leitao@debian.org> Patch applied to wireless-next.git, thanks. f6e36d9e1c63 wifi: wlcore: sdio: Rate limit wl12xx_sdio_raw_{read,write}() failures warns
diff --git a/drivers/net/wireless/ti/wlcore/sdio.c b/drivers/net/wireless/ti/wlcore/sdio.c index eb5482ed76ae..70b9648acaaf 100644 --- a/drivers/net/wireless/ti/wlcore/sdio.c +++ b/drivers/net/wireless/ti/wlcore/sdio.c @@ -75,8 +75,8 @@ static int __must_check wl12xx_sdio_raw_read(struct device *child, int addr, sdio_release_host(func); - if (WARN_ON(ret)) - dev_err(child->parent, "sdio read failed (%d)\n", ret); + if (ret) + dev_err_ratelimited(child->parent, "sdio read failed (%d)\n", ret); if (unlikely(dump)) { printk(KERN_DEBUG "wlcore_sdio: READ from 0x%04x\n", addr); @@ -120,8 +120,8 @@ static int __must_check wl12xx_sdio_raw_write(struct device *child, int addr, sdio_release_host(func); - if (WARN_ON(ret)) - dev_err(child->parent, "sdio write failed (%d)\n", ret); + if (ret) + dev_err_ratelimited(child->parent, "sdio write failed (%d)\n", ret); return ret; }