]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
media: i2c: et8ek8: Don't strip remove function when driver is builtin
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Sun, 24 Mar 2024 16:00:44 +0000 (17:00 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Apr 2025 12:31:56 +0000 (14:31 +0200)
commitece3fc1c10197052044048bea4f13cfdcf25b416
tree8a9046aa6fd548e49ca991d52e0ae5edf881bd5a
parent03c4c633a0226341067698975f52a55fe6d3abeb
media: i2c: et8ek8: Don't strip remove function when driver is builtin

commit 545b215736c5c4b354e182d99c578a472ac9bfce upstream.

Using __exit for the remove function results in the remove callback
being discarded with CONFIG_VIDEO_ET8EK8=y. When such a device gets
unbound (e.g. using sysfs or hotplug), the driver is just removed
without the cleanup being performed. This results in resource leaks. Fix
it by compiling in the remove callback unconditionally.

This also fixes a W=1 modpost warning:

WARNING: modpost: drivers/media/i2c/et8ek8/et8ek8: section mismatch in reference: et8ek8_i2c_driver+0x10 (section: .data) -> et8ek8_remove (section: .exit.text)

Fixes: c5254e72b8ed ("[media] media: Driver for Toshiba et8ek8 5MP sensor")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>
Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/i2c/et8ek8/et8ek8_driver.c