summaryrefslogtreecommitdiff
path: root/drivers/bluetooth
diff options
context:
space:
mode:
authorOm Prakash Singh <omp@nvidia.com>2011-10-31 12:07:17 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:52:35 -0800
commit6d6bdc66279320f0647a71a162965e7705555972 (patch)
tree56a02aa45381da9901ea7d2954952228854f8986 /drivers/bluetooth
parent6c9cd9fedc0bcbbcb928b77c36c1d6add6179674 (diff)
bluetooth: bluesleep: workaround to enable bluesleep functionality
Enable_irq_wake function is returning error while registering bank irqs. Commenting out enable_irq_wake,disable_irq_wake function will not affect bluesleep functionality except wake-on-bluethooth. Bug 890309 Change-Id: I268361372de037b07bbac5373560c94fc9b131b0 Reviewed-on: http://git-master/r/61090 Reviewed-by: Om Prakash Singh <omp@nvidia.com> Tested-by: Om Prakash Singh <omp@nvidia.com> Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Rebase-Id: R4b5334848a954ed107a7294131d78b9162bfb711
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r--drivers/bluetooth/bluesleep.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/bluetooth/bluesleep.c b/drivers/bluetooth/bluesleep.c
index e14009f26cc6..c54952d9f24d 100644
--- a/drivers/bluetooth/bluesleep.c
+++ b/drivers/bluetooth/bluesleep.c
@@ -67,6 +67,9 @@
#define POLARITY_LOW 0
#define POLARITY_HIGH 1
+/* enable/disable wake-on-bluetooth */
+#define BT_ENABLE_IRQ_WAKE 0
+
struct bluesleep_info {
unsigned host_wake;
unsigned ext_wake;
@@ -384,12 +387,14 @@ static int bluesleep_start(void)
goto fail;
}
+#if BT_ENABLE_IRQ_WAKE
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
set_bit(BT_PROTO, &flags);
wake_lock(&bsi->wake_lock);
return 0;
@@ -427,8 +432,10 @@ static void bluesleep_stop(void)
atomic_inc(&open_count);
spin_unlock_irqrestore(&rw_lock, irq_flags);
+#if BT_ENABLE_IRQ_WAKE
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);
}