If we've registered a notifier in pda_power_probe() we must deregister
it in pda_power_remove() to not let it work on stale data like, e.g.,
the charger timer.

Cc: Felipe Balbi <ba...@ti.com>
Cc: Anton Vorontsov <an...@enomsg.org>
Signed-off-by: Mathias Krause <mini...@googlemail.com>
---
 drivers/power/pda_power.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/power/pda_power.c b/drivers/power/pda_power.c
index 87a963d0a8..aba23d6848 100644
--- a/drivers/power/pda_power.c
+++ b/drivers/power/pda_power.c
@@ -430,6 +430,11 @@ static int pda_power_remove(struct platform_device *pdev)
        if (pdata->is_ac_online && ac_irq)
                free_irq(ac_irq->start, &pda_psy_ac);
 
+#if IS_ENABLED(CONFIG_USB_PHY)
+       if (!IS_ERR_OR_NULL(transceiver) && pdata->use_otg_notifier)
+               usb_unregister_notifier(transceiver, &otg_nb);
+#endif
+
        if (polling)
                del_timer_sync(&polling_timer);
        del_timer_sync(&charger_timer);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to