isys_remove() tears down the registered ISYS devices but does not call
ipu7_fw_isys_release() after a successful probe. The probe error path
already uses this helper after ipu7_fw_isys_init() succeeds.
Without the matching release, resources initialized by
ipu7_fw_isys_init() remain allocated on normal device removal.
Call ipu7_fw_isys_release() after unregistering the ISYS devices to match
the cleanup performed by the probe error path.
Fixes: a516d36bdc3d ("media: staging/ipu7: add IPU7 input system device driver")
Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
---
drivers/staging/media/ipu7/ipu7-isys.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/staging/media/ipu7/ipu7-isys.c b/drivers/staging/media/ipu7/ipu7-isys.c
index 601e5a79ef8e..a54393fbb9db 100644
--- a/drivers/staging/media/ipu7/ipu7-isys.c
+++ b/drivers/staging/media/ipu7/ipu7-isys.c
@@ -590,6 +590,7 @@ static void isys_remove(struct auxiliary_device *auxdev)
isys_notifier_cleanup(isys);
isys_unregister_devices(isys);
+ ipu7_fw_isys_release(isys);
cpu_latency_qos_remove_request(&isys->pm_qos);
base-commit: f03c39de3a1307371a4032757cd1732e91087c7d
--
2.43.0