Bluetooth: btmrvl: update hs_state in interrupt handler
authorAmitkumar Karwar <akarwar@marvell.com>
Wed, 19 Nov 2014 09:28:34 +0000 (01:28 -0800)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 19 Nov 2014 15:22:42 +0000 (16:22 +0100)
Host sleep status flag should be reset when there is an
interrupt from device.

Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btmrvl_main.c

index e43c495..bb0d2c2 100644 (file)
@@ -41,6 +41,11 @@ void btmrvl_interrupt(struct btmrvl_private *priv)
 
        priv->adapter->int_count++;
 
+       if (priv->adapter->hs_state == HS_ACTIVATED) {
+               BT_DBG("BT: HS DEACTIVATED in ISR!\n");
+               priv->adapter->hs_state = HS_DEACTIVATED;
+       }
+
        wake_up_interruptible(&priv->main_thread.wait_q);
 }
 EXPORT_SYMBOL_GPL(btmrvl_interrupt);
@@ -323,6 +328,7 @@ int btmrvl_prepare_command(struct btmrvl_private *priv)
                } else {
                        ret = priv->hw_wakeup_firmware(priv);
                        priv->adapter->hs_state = HS_DEACTIVATED;
+                       BT_DBG("BT: HS DEACTIVATED due to host activity!\n");
                }
        }