diff options
author | Seshendra Gadagottu <sgadagottu@nvidia.com> | 2011-12-27 09:38:24 +0530 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2012-01-19 16:16:03 -0800 |
commit | f1ef6513c074f3515ca5244fe971728c9aaa8e96 (patch) | |
tree | 72d3bd02286a6c836c20014edbd2a1c749744825 /arch/arm/mach-tegra/tegra_usb_modem_power.c | |
parent | a882286c55b09cda8881c6d905f178f1eb435871 (diff) |
arm: tegra: baseband: cleanup code for modem power driver
Disable wakeup irq when removing the modem power driver.
BUG 920108
Change-Id: I371644421fc7d986af2292f736b459b141651ed1
Signed-off-by: Steve Lin <stlin@nvidia.com>
Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-on: http://git-master/r/75876
Reviewed-by: Automatic_Commit_Validation_User
Diffstat (limited to 'arch/arm/mach-tegra/tegra_usb_modem_power.c')
-rw-r--r-- | arch/arm/mach-tegra/tegra_usb_modem_power.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/tegra_usb_modem_power.c b/arch/arm/mach-tegra/tegra_usb_modem_power.c index 08fde6a378ed..f3a248be5bfb 100644 --- a/arch/arm/mach-tegra/tegra_usb_modem_power.c +++ b/arch/arm/mach-tegra/tegra_usb_modem_power.c @@ -194,7 +194,7 @@ static int tegra_usb_modem_probe(struct platform_device *pdev) INIT_DELAYED_WORK(&(tegra_mdm.recovery_work), tegra_usb_modem_recovery); /* create threaded irq for remote wakeup */ - if (pdata->wake_gpio) { + if (gpio_is_valid(pdata->wake_gpio)) { /* get remote wakeup gpio from platform data */ tegra_mdm.wake_gpio = pdata->wake_gpio; @@ -236,7 +236,11 @@ static int tegra_usb_modem_probe(struct platform_device *pdev) static int __exit tegra_usb_modem_remove(struct platform_device *pdev) { usb_unregister_notify(&usb_nb); - free_irq(tegra_mdm.irq, &tegra_mdm); + + if (tegra_mdm.irq) { + disable_irq_wake(tegra_mdm.irq); + free_irq(tegra_mdm.irq, &tegra_mdm); + } return 0; } |