drivers/media/rc/lirc_dev.c | 3 +++ drivers/media/rc/rc-main.c | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-)
commit 37efd09ba2c6 ("media: rc: Ensure registered is cleared in error
path") broke the build if CONFIG_LIRC was not enabled.
Fixes: 37efd09ba2c6 ("media: rc: Ensure registered is cleared in error path")
Reported-by: kernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/oe-kbuild-all/202609230511.Em5Osw74-lkp@intel.com
Signed-off-by: Sean Young <sean@mess.org>
---
drivers/media/rc/lirc_dev.c | 3 +++
drivers/media/rc/rc-main.c | 3 +--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/media/rc/lirc_dev.c b/drivers/media/rc/lirc_dev.c
index d9b6ecca563f..f7b8f1f66d9b 100644
--- a/drivers/media/rc/lirc_dev.c
+++ b/drivers/media/rc/lirc_dev.c
@@ -777,6 +777,9 @@ void lirc_unregister(struct rc_dev *dev)
unsigned long flags;
struct lirc_fh *fh;
+ if (!device_is_registered(&dev->lirc_dev))
+ return;
+
dev_dbg(&dev->dev, "lirc_dev: driver %s unregistered from minor = %d\n",
dev->driver_name, MINOR(dev->lirc_dev.devt));
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
index 1c07bdd3b42b..a867bf9e8416 100644
--- a/drivers/media/rc/rc-main.c
+++ b/drivers/media/rc/rc-main.c
@@ -2018,8 +2018,7 @@ int rc_register_device(struct rc_dev *dev)
scoped_guard(mutex, &dev->lock)
dev->registered = false;
- if (device_is_registered(&dev->lirc_dev))
- lirc_unregister(dev);
+ lirc_unregister(dev);
device_del(&dev->dev);
/* registered already cleared above */
goto out_free_table;
--
2.55.0
On 23/09/2026 10:59, Sean Young wrote:
> commit 37efd09ba2c6 ("media: rc: Ensure registered is cleared in error
> path") broke the build if CONFIG_LIRC was not enabled.
>
> Fixes: 37efd09ba2c6 ("media: rc: Ensure registered is cleared in error path")
> Reported-by: kernel test robot <lkp@intel.com>
> Link: https://lore.kernel.org/oe-kbuild-all/202609230511.Em5Osw74-lkp@intel.com
> Signed-off-by: Sean Young <sean@mess.org>
Reviewed-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Regards,
Hans
> ---
> drivers/media/rc/lirc_dev.c | 3 +++
> drivers/media/rc/rc-main.c | 3 +--
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/rc/lirc_dev.c b/drivers/media/rc/lirc_dev.c
> index d9b6ecca563f..f7b8f1f66d9b 100644
> --- a/drivers/media/rc/lirc_dev.c
> +++ b/drivers/media/rc/lirc_dev.c
> @@ -777,6 +777,9 @@ void lirc_unregister(struct rc_dev *dev)
> unsigned long flags;
> struct lirc_fh *fh;
>
> + if (!device_is_registered(&dev->lirc_dev))
> + return;
> +
> dev_dbg(&dev->dev, "lirc_dev: driver %s unregistered from minor = %d\n",
> dev->driver_name, MINOR(dev->lirc_dev.devt));
>
> diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
> index 1c07bdd3b42b..a867bf9e8416 100644
> --- a/drivers/media/rc/rc-main.c
> +++ b/drivers/media/rc/rc-main.c
> @@ -2018,8 +2018,7 @@ int rc_register_device(struct rc_dev *dev)
> scoped_guard(mutex, &dev->lock)
> dev->registered = false;
>
> - if (device_is_registered(&dev->lirc_dev))
> - lirc_unregister(dev);
> + lirc_unregister(dev);
> device_del(&dev->dev);
> /* registered already cleared above */
> goto out_free_table;
© 2016 - 2026 Red Hat, Inc.