RE: BUG: sleeping function called from invalid context at mm/slub.c:1595 --- "hcitool cc" or "l2ping"

Marcel Holtmann
2009-04-29T22:38:36Z

Hi Bing,

> > > > > I'm getting this error whenever I use "hcitool cc" or "l2ping
> > xx:xx:xx:xx:xx:xx"
> > > > command.
> > > > >
> > > > > Kernel: version 2.6.30-rc3 from bluetooth-testing tree
> > > > > HCI Tool: version 3.20
> > > > > Laptop: Lenovo X61s
> > > >
> > > > can you rebase the bluetooth-testing.git tree from a few hours ago and
> > > > test again.
> > >
> > > "git log" shows the last commit was ad4751fcada51292bb2967748667b582281647d0.
> > > Bluetooth: Fix errors and warnings in L2CAP reported by checkpatch.pl
> > >
> > > Is it the latest one?
> >
> > yes, that one is the latest. What happens if you revert:
> >
> > commit d97ebf3798fb5745953230e049011f5b20b7c6d9
> > Author: Roger Quadros <ext-roger.quadros@nokia.com>
> > Date: Thu Apr 23 14:50:54 2009 +0300
> >
> > Bluetooth: Ensure that HCI sysfs add/del is preempt safe
> >
> > Does this one introduces your problem?
> >
> > What is your kernel config and hardware you are running this one? Seems
> > not everybody is seeing this one.
> >
> Reverting d97ebf3798fb5745953230e049011f5b20b7c6d9 doesn't help.
>
> Today I got a chance to test it with some old tags.
>
> Tags:
> v2.6.29: no issue
> v2.6.30-rc1: no issue
> v2.6.30-rc2: BUG: sleeping function called from invalid context at mm/slub.c:1595
> v2.6.30-rc3: BUG: sleeping function called from invalid context at mm/slub.c:1595
>
> It happens on my laptops, Lenovo X61s and Fujitsu Lifebook A6110, with both v2.6.30-rc2 and v2.6.30-rc3.
>
>
> The followings are from my Lifebook A6110,
> with blutooth-test git tag: v2.6.30-rc2 (commit 0882e8dd).

so I really think this is a kernel issue and not a Bluetooth issue. Can
clone Linus' tree from today. All the important Bluetooth fixes for
2.6.30 went in today.

I did double check the flush_workqueue() and as far as I can tell we can
sleep in that context. So for some reason we are in the wrong context. I
really don't know why.

Regards

Marcel