2024-04-02 12:14:40

by Abdelrahman Morsy

[permalink] [raw]
Subject: [PATCH] HID: mcp-2221: cancel delayed_work only when CONFIG_IIO is enabled

If the device is unplugged and CONFIG_IIO is not supported, this will
result in a warning message at kernel/workqueue.

Only cancel delayed work in mcp2221_remove(), when CONFIG_IIO is enabled.

Signed-off-by: Abdelrahman Morsy <[email protected]>
---
drivers/hid/hid-mcp2221.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/hid/hid-mcp2221.c b/drivers/hid/hid-mcp2221.c
index f9cceaeffd08..da5ea5a23b08 100644
--- a/drivers/hid/hid-mcp2221.c
+++ b/drivers/hid/hid-mcp2221.c
@@ -944,9 +944,11 @@ static void mcp2221_hid_unregister(void *ptr)
/* This is needed to be sure hid_hw_stop() isn't called twice by the subsystem */
static void mcp2221_remove(struct hid_device *hdev)
{
+#if IS_REACHABLE(CONFIG_IIO)
struct mcp2221 *mcp = hid_get_drvdata(hdev);

cancel_delayed_work_sync(&mcp->init_work);
+#endif
}

#if IS_REACHABLE(CONFIG_IIO)
--
2.34.1



2024-04-12 15:49:46

by Jiri Kosina

[permalink] [raw]
Subject: Re: [PATCH] HID: mcp-2221: cancel delayed_work only when CONFIG_IIO is enabled

On Tue, 2 Apr 2024, Abdelrahman Morsy wrote:

> If the device is unplugged and CONFIG_IIO is not supported, this will
> result in a warning message at kernel/workqueue.
>
> Only cancel delayed work in mcp2221_remove(), when CONFIG_IIO is enabled.

Makes sense, the work is scheduled also only with CONFIG_IIO enabled.
Thanks, applied.

--
Jiri Kosina
SUSE Labs