2008-03-03 02:43:01

by Dave Young

[permalink] [raw]
Subject: [PATCH] l2cap info_timer delete fix in hci_conn_del

When the l2cap info_timer is active the info_state will be set to
L2CAP_INFO_FEAT_MASK_REQ_SENT, and it will be unset after the timer
is deleted or timeout triggered.

Here in hci_conn_del only call del_timer_sync when the info_state
is set to L2CAP_INFO_FEAT_MASK_REQ_SENT.

Signed-off-by: Dave Young <[email protected]>

---
net/bluetooth/l2cap.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff -upr linux/net/bluetooth/l2cap.c linux.new/net/bluetooth/l2cap.c
--- linux/net/bluetooth/l2cap.c 2008-03-03 10:35:03.000000000 +0800
+++ linux.new/net/bluetooth/l2cap.c 2008-03-03 10:36:34.000000000 +0800
@@ -417,7 +417,8 @@ static void l2cap_conn_del(struct hci_co
l2cap_sock_kill(sk);
}

- del_timer_sync(&conn->info_timer);
+ if (conn->info_state & L2CAP_INFO_FEAT_MASK_REQ_SENT)
+ del_timer_sync(&conn->info_timer);

hcon->l2cap_data = NULL;
kfree(conn);


2008-03-03 10:59:29

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] l2cap info_timer delete fix in hci_conn_del

Hi Dave,

> When the l2cap info_timer is active the info_state will be set to
> L2CAP_INFO_FEAT_MASK_REQ_SENT, and it will be unset after the timer
> is deleted or timeout triggered.
>
> Here in hci_conn_del only call del_timer_sync when the info_state
> is set to L2CAP_INFO_FEAT_MASK_REQ_SENT.
>
> Signed-off-by: Dave Young <[email protected]>

the comment should say l2cap_conn_del, but besides that, the patch is
good.

Acked-by: Marcel Holtmann <[email protected]>

in case someone is quicker than me getting this to Linus.

Regards

Marcel

2008-03-03 20:19:51

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] l2cap info_timer delete fix in hci_conn_del

From: Marcel Holtmann <[email protected]>
Date: Mon, 3 Mar 2008 11:59:04 +0100

> the comment should say l2cap_conn_del, but besides that, the patch is
> good.

I've fixed up the changelog message.

> Acked-by: Marcel Holtmann <[email protected]>

And applied the patch, thanks everyone.