From mboxrd@z Thu Jan 1 00:00:00 1970 From: David John Subject: Re: [Bug #15127] Bluetooth: sleeping function called from invalid context Date: Mon, 01 Feb 2010 23:09:46 +0530 Message-ID: <4B6711E2.6010409@xenontk.org> References: <1264986406.31341.5.camel@localhost.localdomain> Reply-To: davidjon-XRr60H37pjdAfugRpC6u6w@public.gmane.org Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1264986406.31341.5.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> Sender: kernel-testers-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: Content-Type: text/plain; charset="us-ascii" To: Marcel Holtmann Cc: "Rafael J. Wysocki" , Linux Kernel Mailing List , Kernel Testers List , Luiz Augusto von Dentz On 02/01/2010 06:36 AM, Marcel Holtmann wrote: > Hi Rafael, > >> This message has been generated automatically as a part of a report >> of regressions introduced between 2.6.31 and 2.6.32. >> >> The following bug entry is on the current list of known regressions >> introduced between 2.6.31 and 2.6.32. Please verify if it still should >> be listed and let me know (either way). >> >> >> Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=15127 >> Subject : Bluetooth: sleeping function called from invalid context >> Submitter : David John >> Date : 2010-01-12 9:19 (20 days old) >> First-Bad-Commit: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9e726b17422bade75fba94e625cd35fd1353e682 >> References : http://marc.info/?l=linux-kernel&m=126328727021949&w=4 > > you have an outdated email from Luiz and I change it to the right one > now. > > I looked with him at the patch and I think this will fix it: > > diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c > index fc5ee32..2b50637 100644 > --- a/net/bluetooth/rfcomm/core.c > +++ b/net/bluetooth/rfcomm/core.c > @@ -252,7 +252,6 @@ static void rfcomm_session_timeout(unsigned long > arg) > BT_DBG("session %p state %ld", s, s->state); > > set_bit(RFCOMM_TIMED_OUT, &s->flags); > - rfcomm_session_put(s); > rfcomm_schedule(RFCOMM_SCHED_TIMEO); > } > > @@ -1920,6 +1919,7 @@ static inline void rfcomm_process_sessions(void) > if (test_and_clear_bit(RFCOMM_TIMED_OUT, &s->flags)) { > s->state = BT_DISCONN; > rfcomm_send_disc(s, 0); > + rfcomm_session_put(s); > continue; > } > > We need some extra testing on this with the actual hardware we did the > patch for. So this will take at least a few days before we get our hands > on it. > > Regards > > Marcel > > > Hi Marcel, FWIW, your patch fixes the issue. Regards, David.