Bluetooth: Incoming ACL packets do not force active mode
Mat Martineau [Tue, 13 Dec 2011 23:06:02 +0000 (15:06 -0800)]
Incoming sk_buffs always have bt_cb(skb)->force_active set to 0, so
it's misleading to use that value from the control block when calling
hci_conn_enter_active_mode() for incoming data. The destination socket
is not known in the HCI layer, so the force_active setting for each
socket isn't known either. Hard-coding the force_active parameter does
not change any behavior, but makes it obvious that incoming ACL data
never exits sniff mode.

Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>

net/bluetooth/hci_core.c

index b5ba42d..d6382db 100644 (file)
@@ -2455,7 +2455,7 @@ static inline void hci_acldata_packet(struct hci_dev *hdev, struct sk_buff *skb)
        if (conn) {
                register struct hci_proto *hp;
 
-               hci_conn_enter_active_mode(conn, bt_cb(skb)->force_active);
+               hci_conn_enter_active_mode(conn, BT_POWER_FORCE_ACTIVE_OFF);
 
                /* Send to upper protocol */
                hp = hci_proto[HCI_PROTO_L2CAP];