]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
firmware: arm_scmi: Rate-limit queue-full warnings in IRQ context
authorPushpendra Singh <pushpendra.singh@oss.qualcomm.com>
Wed, 8 Jul 2026 07:23:39 +0000 (12:53 +0530)
committerSudeep Holla <sudeep.holla@arm.com>
Thu, 9 Jul 2026 13:34:41 +0000 (14:34 +0100)
commita4447c0693830d5ecadd6e755cb7fdc55d86aacc
tree8930a17d454200cd90edd87d87bae591a7511b97
parentbf1deecccf210d1dd84e85cd4a45070888583984
firmware: arm_scmi: Rate-limit queue-full warnings in IRQ context

The scmi_notify() function is called from interrupt context to queue
received notification events onto a per-protocol kfifo. When the kfifo
is full, it logs a warning via dev_warn() for every dropped event.

Under conditions where the platform sends a burst of SCMI notifications
faster than the deferred worker can drain the queue, this results in a
flood of dev_warn() calls from IRQ context. Each call acquires the
console lock and may execute blocking console writes, causing the CPU
to be held in interrupt context for an extended period and leading to
observable system stalls.

Fix this by switching to dev_warn_ratelimited() to limit the frequency
of log messages when the notification queue is full. This reduces
console overhead in interrupt context and prevents CPU stalls caused by
excessive logging, while still preserving diagnostic visibility.

Fixes: bd31b249692e ("firmware: arm_scmi: Add notification dispatch and delivery")
Signed-off-by: Pushpendra Singh <pushpendra.singh@oss.qualcomm.com>
Link: https://patch.msgid.link/20260708072339.3021140-1-pushpendra.singh@oss.qualcomm.com
Signed-off-by: Sudeep Holla <sudeep.holla@kernel.org>
drivers/firmware/arm_scmi/notify.c