From: Nick Pelly Date: Thu, 4 Feb 2010 17:06:57 +0000 (-0800) Subject: Bluetooth: Hack: Do not use power_save feature. X-Git-Tag: firefly_0821_release~9833^2~5^2~258 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=3b02c046c3dfef5b5c4fa0c45b69654c107c7403;p=firefly-linux-kernel-4.4.55.git Bluetooth: Hack: Do not use power_save feature. power_save is a feature to allow HID devices to control the sniff mode. Unfortunately it also prevents us exiting sniff mode on some A2DP devices that do not explicitly exit sniff mode themselves, resulting in skipping audio. Marcel is trying to finalize a setsockopt() API to control whether power_save is enabled on a per socket basis. In the mean-time, turn off power_save for Android, since we do not have official HID support, and this is causing problems for A2DP which we do support. (Note the power_save logic is reversed, 0 is on, 1 is off). Change-Id: Ife4478055128b81669bf49308d2e2199e1aa11a1 Signed-off-by: Nick Pelly --- diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c index 9f4ebc187dcc..367f4d9c002b 100644 --- a/net/bluetooth/hci_conn.c +++ b/net/bluetooth/hci_conn.c @@ -529,7 +529,7 @@ void hci_conn_enter_active_mode(struct hci_conn *conn) if (test_bit(HCI_RAW, &hdev->flags)) return; - if (conn->mode != HCI_CM_SNIFF || !conn->power_save) + if (conn->mode != HCI_CM_SNIFF /* || !conn->power_save */) goto timer; if (!test_and_set_bit(HCI_CONN_MODE_CHANGE_PEND, &conn->pend)) {