summaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth/btmrvl_drv.h
diff options
context:
space:
mode:
authorAmitkumar Karwar <akarwar@marvell.com>2010-05-27 16:38:37 -0700
committerMarcel Holtmann <marcel@holtmann.org>2010-07-21 10:39:06 -0700
commitd1d10d783089cc26a14be92fc12fccda9aa6593a (patch)
tree109f208c61617a703993ac21a40d71d2e646c44b /drivers/bluetooth/btmrvl_drv.h
parent2d0a03460a8a0c611843500735096ff799aa8510 (diff)
downloadlinux-d1d10d783089cc26a14be92fc12fccda9aa6593a.tar.gz
linux-d1d10d783089cc26a14be92fc12fccda9aa6593a.tar.bz2
linux-d1d10d783089cc26a14be92fc12fccda9aa6593a.zip
Bluetooth: Process interrupt in main thread of btmrvl driver as well
When driver is sending a command or data and the firmware is also sending a sleep event, sometimes it is observed that driver will continue to send the command/data to firmware right after processing sleep event. Once sleep event is processed driver is not supposed to send anything because firmware is in sleep state after that. Previously interrupt processing was done in SDIO interrupt callback handler. Now it is done in btmrvl driver main thread to solve the cross-sending properly. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/bluetooth/btmrvl_drv.h')
-rw-r--r--drivers/bluetooth/btmrvl_drv.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/bluetooth/btmrvl_drv.h b/drivers/bluetooth/btmrvl_drv.h
index bed0ba630235..872cb6cfcd0d 100644
--- a/drivers/bluetooth/btmrvl_drv.h
+++ b/drivers/bluetooth/btmrvl_drv.h
@@ -76,6 +76,7 @@ struct btmrvl_private {
int (*hw_host_to_card) (struct btmrvl_private *priv,
u8 *payload, u16 nb);
int (*hw_wakeup_firmware) (struct btmrvl_private *priv);
+ int (*hw_process_int_status) (struct btmrvl_private *priv);
spinlock_t driver_lock; /* spinlock used by driver */
#ifdef CONFIG_DEBUG_FS
void *debugfs_data;