summaryrefslogtreecommitdiffstats
path: root/net/bluetooth/l2cap_core.c
diff options
context:
space:
mode:
authorGustavo F. Padovan2011-05-05 00:42:50 +0200
committerGustavo F. Padovan2011-06-08 21:58:16 +0200
commit0f8527249646bbe75d036fe8b9b84d662ece90a9 (patch)
tree30b1a4e2d68ba207349c5bd003101c6dafdf50b1 /net/bluetooth/l2cap_core.c
parentBluetooth: Remove export of l2cap_chan_clear_timer() (diff)
downloadkernel-qcow2-linux-0f8527249646bbe75d036fe8b9b84d662ece90a9.tar.gz
kernel-qcow2-linux-0f8527249646bbe75d036fe8b9b84d662ece90a9.tar.xz
kernel-qcow2-linux-0f8527249646bbe75d036fe8b9b84d662ece90a9.zip
Bluetooth: Rename __l2cap_chan_close() to l2cap_chan_close()
To make it consistent with the rest of the API. Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'net/bluetooth/l2cap_core.c')
-rw-r--r--net/bluetooth/l2cap_core.c29
1 files changed, 12 insertions, 17 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index 248f68a9694b..c630a0e8c5f9 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -250,7 +250,7 @@ static void l2cap_chan_timeout(unsigned long arg)
else
reason = ETIMEDOUT;
- __l2cap_chan_close(chan, reason);
+ l2cap_chan_close(chan, reason);
bh_unlock_sock(sk);
@@ -383,16 +383,6 @@ static void l2cap_chan_del(struct l2cap_chan *chan, int err)
}
}
-/* Must be called on unlocked socket. */
-static void l2cap_chan_close(struct sock *sk)
-{
- l2cap_chan_clear_timer(l2cap_pi(sk)->chan);
- lock_sock(sk);
- __l2cap_chan_close(l2cap_pi(sk)->chan, ECONNRESET);
- release_sock(sk);
- l2cap_sock_kill(sk);
-}
-
static void l2cap_chan_cleanup_listen(struct sock *parent)
{
struct sock *sk;
@@ -400,14 +390,19 @@ static void l2cap_chan_cleanup_listen(struct sock *parent)
BT_DBG("parent %p", parent);
/* Close not yet accepted channels */
- while ((sk = bt_accept_dequeue(parent, NULL)))
- l2cap_chan_close(sk);
+ while ((sk = bt_accept_dequeue(parent, NULL))) {
+ l2cap_chan_clear_timer(l2cap_pi(sk)->chan);
+ lock_sock(sk);
+ l2cap_chan_close(l2cap_pi(sk)->chan, ECONNRESET);
+ release_sock(sk);
+ l2cap_sock_kill(sk);
+ }
parent->sk_state = BT_CLOSED;
sock_set_flag(parent, SOCK_ZAPPED);
}
-void __l2cap_chan_close(struct l2cap_chan *chan, int reason)
+void l2cap_chan_close(struct l2cap_chan *chan, int reason)
{
struct l2cap_conn *conn = chan->conn;
struct sock *sk = chan->sk;
@@ -724,10 +719,10 @@ static void l2cap_conn_start(struct l2cap_conn *conn)
conn->feat_mask)
&& chan->conf_state &
L2CAP_CONF_STATE2_DEVICE) {
- /* __l2cap_chan_close() calls list_del(chan)
+ /* l2cap_chan_close() calls list_del(chan)
* so release the lock */
read_unlock_bh(&conn->chan_lock);
- __l2cap_chan_close(chan, ECONNRESET);
+ l2cap_chan_close(chan, ECONNRESET);
read_lock_bh(&conn->chan_lock);
bh_unlock_sock(sk);
continue;
@@ -4151,7 +4146,7 @@ static inline void l2cap_check_encryption(struct l2cap_chan *chan, u8 encrypt)
l2cap_chan_clear_timer(chan);
l2cap_chan_set_timer(chan, HZ * 5);
} else if (chan->sec_level == BT_SECURITY_HIGH)
- __l2cap_chan_close(chan, ECONNREFUSED);
+ l2cap_chan_close(chan, ECONNREFUSED);
} else {
if (chan->sec_level == BT_SECURITY_MEDIUM)
l2cap_chan_clear_timer(chan);