Commit e03ab519 authored by Marcel Holtmann's avatar Marcel Holtmann Committed by Johan Hedberg

Bluetooth: Remove unneeded forward declaration of sco_chan_del

The forward declaration of sco_chan_del is not needed and thus just
remove it. Move sco_chan_del into the proper location.
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
parent 015b01cb
...@@ -53,8 +53,6 @@ struct sco_conn { ...@@ -53,8 +53,6 @@ struct sco_conn {
#define sco_conn_lock(c) spin_lock(&c->lock); #define sco_conn_lock(c) spin_lock(&c->lock);
#define sco_conn_unlock(c) spin_unlock(&c->lock); #define sco_conn_unlock(c) spin_unlock(&c->lock);
static void sco_chan_del(struct sock *sk, int err);
static void sco_sock_close(struct sock *sk); static void sco_sock_close(struct sock *sk);
static void sco_sock_kill(struct sock *sk); static void sco_sock_kill(struct sock *sk);
...@@ -138,6 +136,33 @@ static struct sock *sco_chan_get(struct sco_conn *conn) ...@@ -138,6 +136,33 @@ static struct sock *sco_chan_get(struct sco_conn *conn)
return sk; return sk;
} }
/* Delete channel.
* Must be called on the locked socket. */
static void sco_chan_del(struct sock *sk, int err)
{
struct sco_conn *conn;
conn = sco_pi(sk)->conn;
BT_DBG("sk %p, conn %p, err %d", sk, conn, err);
if (conn) {
sco_conn_lock(conn);
conn->sk = NULL;
sco_pi(sk)->conn = NULL;
sco_conn_unlock(conn);
if (conn->hcon)
hci_conn_drop(conn->hcon);
}
sk->sk_state = BT_CLOSED;
sk->sk_err = err;
sk->sk_state_change(sk);
sock_set_flag(sk, SOCK_ZAPPED);
}
static int sco_conn_del(struct hci_conn *hcon, int err) static int sco_conn_del(struct hci_conn *hcon, int err)
{ {
struct sco_conn *conn = hcon->sco_data; struct sco_conn *conn = hcon->sco_data;
...@@ -978,33 +1003,6 @@ static int sco_sock_release(struct socket *sock) ...@@ -978,33 +1003,6 @@ static int sco_sock_release(struct socket *sock)
return err; return err;
} }
/* Delete channel.
* Must be called on the locked socket. */
static void sco_chan_del(struct sock *sk, int err)
{
struct sco_conn *conn;
conn = sco_pi(sk)->conn;
BT_DBG("sk %p, conn %p, err %d", sk, conn, err);
if (conn) {
sco_conn_lock(conn);
conn->sk = NULL;
sco_pi(sk)->conn = NULL;
sco_conn_unlock(conn);
if (conn->hcon)
hci_conn_drop(conn->hcon);
}
sk->sk_state = BT_CLOSED;
sk->sk_err = err;
sk->sk_state_change(sk);
sock_set_flag(sk, SOCK_ZAPPED);
}
static void sco_conn_ready(struct sco_conn *conn) static void sco_conn_ready(struct sco_conn *conn)
{ {
struct sock *parent; struct sock *parent;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment