[PATCH] Staging: nvec: Fix pm_power_off reset condition in tegra_nvec_remove
From: Dima Volkovsk
Date: Sun Feb 09 2025 - 15:18:06 EST
In the current implementation of tegra_nvec_remove, the pm_power_off handler
is set to NULL without checking if it is actually set to nvec_power_off. This
change ensures that pm_power_off is only reset if it was previously set to
nvec_power_off, preventing unintended side effects when removing the device.
Signed-off-by: Dima Volkovsk <s0ldw3ll@xxxxxxxxx>
---
drivers/staging/nvec/nvec.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
index 263774e6a78c..9057f061e927 100644
--- a/drivers/staging/nvec/nvec.c
+++ b/drivers/staging/nvec/nvec.c
@@ -903,8 +903,10 @@ static void tegra_nvec_remove(struct platform_device *pdev)
nvec_unregister_notifier(nvec, &nvec->nvec_status_notifier);
cancel_work_sync(&nvec->rx_work);
cancel_work_sync(&nvec->tx_work);
- /* FIXME: needs check whether nvec is responsible for power off */
- pm_power_off = NULL;
+
+ /* only reset pm_power_off if it's our handler */
+ if (pm_power_off = nvec_power_off)
+ pm_power_off = NULL;
}
#ifdef CONFIG_PM_SLEEP
--
2.48.1