Hi Andrei, On Mon, Feb 13, 2012 at 11:36 AM, Emeltchenko Andrei <Andrei.Emeltchenko.news@xxxxxxxxx> wrote: > Hi Ulisses, > > On Fri, Feb 10, 2012 at 04:33:51PM -0200, Ulisses Furquim wrote: >> Hi Andrei, >> >> On Thu, Feb 9, 2012 at 11:06 AM, Emeltchenko Andrei >> <Andrei.Emeltchenko.news@xxxxxxxxx> wrote: >> > From: Andrei Emeltchenko <andrei.emeltchenko@xxxxxxxxx> >> > >> > Removing l2cap_chan_put since in this function we use l2cap_chan_close >> > and ops->close which use l2cap_chan_put. >> > >> > Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@xxxxxxxxx> >> > --- >> > I am not sure that I have checked all possible cases, so I am sending >> > this as RFC. >> > >> > net/bluetooth/l2cap_core.c | 1 - >> > 1 files changed, 0 insertions(+), 1 deletions(-) >> > >> > diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c >> > index f1a6b3c..7db6d7f 100644 >> > --- a/net/bluetooth/l2cap_core.c >> > +++ b/net/bluetooth/l2cap_core.c >> > @@ -274,7 +274,6 @@ static void l2cap_chan_timeout(struct work_struct *work) >> > release_sock(sk); >> > >> > chan->ops->close(chan->data); >> > - l2cap_chan_put(chan); >> > } >> > >> > struct l2cap_chan *l2cap_chan_create(struct sock *sk) >> > -- >> > 1.7.8.3 >> >> While I think you maybe right, please add BT_DBG() to l2cap_chan_hold >> and l2cap_chan_put and check that. If so, put that information also in >> your patch, please. > > I try to do it, but this case is hard to reproduce (maybe I need to reduce > timeout for the check). Well, if it's hard to reproduce than we really need to be sure we're fixing the problem by removing this _chan_put() call. With the debug messages printed in _hold() and _put() we can more easily check if we have an imbalance. Regards, -- Ulisses Furquim ProFUSION embedded systems http://profusion.mobi Mobile: +55 19 9250 0942 Skype: ulissesffs -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html