summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/bluetooth/bluesleep.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/bluetooth/bluesleep.c b/drivers/bluetooth/bluesleep.c
index 45679ed24ae8..0e2ec0befbe3 100644
--- a/drivers/bluetooth/bluesleep.c
+++ b/drivers/bluetooth/bluesleep.c
@@ -374,7 +374,6 @@ static int bluesleep_start(void)
retval = enable_irq_wake(bsi->host_wake_irq);
if (retval < 0) {
BT_ERR("Couldn't enable BT_HOST_WAKE as wakeup interrupt");
- free_irq(bsi->host_wake_irq, NULL);
goto fail;
}
#endif
@@ -419,7 +418,6 @@ static void bluesleep_stop(void)
if (disable_irq_wake(bsi->host_wake_irq))
BT_ERR("Couldn't disable hostwake IRQ wakeup mode\n");
#endif
- free_irq(bsi->host_wake_irq, NULL);
wake_lock_timeout(&bsi->wake_lock, HZ / 2);
}
/**
@@ -683,6 +681,7 @@ free_bsi:
static int bluesleep_remove(struct platform_device *pdev)
{
+ free_irq(bsi->host_wake_irq, NULL);
gpio_free(bsi->host_wake);
gpio_free(bsi->ext_wake);
wake_lock_destroy(&bsi->wake_lock);