Revert "Bluetooth: fix shutdown on SCO sockets"
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 12 May 2011 01:58:16 +0000 (18:58 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 12 May 2011 01:58:16 +0000 (18:58 -0700)
This reverts commit f21ca5fff6e548833fa5ee8867239a8378623150.

Quoth Gustavo F. Padovan:
  "Commit f21ca5fff6e548833fa5ee8867239a8378623150 can cause a NULL
   dereference if we call shutdown in a bluetooth SCO socket and doesn't
   wait the shutdown completion to call close().  Please revert it.  I
   may have a fix for it soon, but we don't have time anymore, so revert
   is the way to go.  ;)"

Requested-by: Gustavo F. Padovan <padovan@profusion.mobi>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
net/bluetooth/sco.c

index 94954c74f6ae61e5df6a5bcf9bb301300bd37eda..42fdffd1d76c0c17c5ab3382b94ea5bf4fcc62c9 100644 (file)
@@ -369,15 +369,6 @@ static void __sco_sock_close(struct sock *sk)
 
        case BT_CONNECTED:
        case BT_CONFIG:
-               if (sco_pi(sk)->conn) {
-                       sk->sk_state = BT_DISCONN;
-                       sco_sock_set_timer(sk, SCO_DISCONN_TIMEOUT);
-                       hci_conn_put(sco_pi(sk)->conn->hcon);
-                       sco_pi(sk)->conn = NULL;
-               } else
-                       sco_chan_del(sk, ECONNRESET);
-               break;
-
        case BT_CONNECT:
        case BT_DISCONN:
                sco_chan_del(sk, ECONNRESET);