Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6

+12 -5
+2 -3
net/bluetooth/hci_core.c
··· 587 587 hci_req_cancel(hdev, ENODEV); 588 588 hci_req_lock(hdev); 589 589 590 - /* Stop timer, it might be running */ 591 - del_timer_sync(&hdev->cmd_timer); 592 - 593 590 if (!test_and_clear_bit(HCI_UP, &hdev->flags)) { 591 + del_timer_sync(&hdev->cmd_timer); 594 592 hci_req_unlock(hdev); 595 593 return 0; 596 594 } ··· 627 629 628 630 /* Drop last sent command */ 629 631 if (hdev->sent_cmd) { 632 + del_timer_sync(&hdev->cmd_timer); 630 633 kfree_skb(hdev->sent_cmd); 631 634 hdev->sent_cmd = NULL; 632 635 }
-2
net/bluetooth/hci_event.c
··· 2387 2387 if (!conn) 2388 2388 goto unlock; 2389 2389 2390 - hci_conn_hold(conn); 2391 - 2392 2390 conn->remote_cap = ev->capability; 2393 2391 conn->remote_oob = ev->oob_data; 2394 2392 conn->remote_auth = ev->authentication;
+1
net/bluetooth/l2cap_core.c
··· 1051 1051 tx_skb = skb_clone(skb, GFP_ATOMIC); 1052 1052 bt_cb(skb)->retries++; 1053 1053 control = get_unaligned_le16(tx_skb->data + L2CAP_HDR_SIZE); 1054 + control &= L2CAP_CTRL_SAR; 1054 1055 1055 1056 if (pi->conn_state & L2CAP_CONN_SEND_FBIT) { 1056 1057 control |= L2CAP_CTRL_FINAL;
+9
net/bluetooth/sco.c
··· 369 369 370 370 case BT_CONNECTED: 371 371 case BT_CONFIG: 372 + if (sco_pi(sk)->conn) { 373 + sk->sk_state = BT_DISCONN; 374 + sco_sock_set_timer(sk, SCO_DISCONN_TIMEOUT); 375 + hci_conn_put(sco_pi(sk)->conn->hcon); 376 + sco_pi(sk)->conn = NULL; 377 + } else 378 + sco_chan_del(sk, ECONNRESET); 379 + break; 380 + 372 381 case BT_CONNECT: 373 382 case BT_DISCONN: 374 383 sco_chan_del(sk, ECONNRESET);