summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/tegra_usb_modem_power.c
diff options
context:
space:
mode:
authorSeshendra Gadagottu <sgadagottu@nvidia.com>2011-12-27 09:38:24 +0530
committerVarun Colbert <vcolbert@nvidia.com>2012-01-19 16:16:03 -0800
commitf1ef6513c074f3515ca5244fe971728c9aaa8e96 (patch)
tree72d3bd02286a6c836c20014edbd2a1c749744825 /arch/arm/mach-tegra/tegra_usb_modem_power.c
parenta882286c55b09cda8881c6d905f178f1eb435871 (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.c8
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;
}