On Wednesday 28 November 2007 17:41:42 Larry Finger wrote:
> Michael Buesch wrote:
> > 
> > I think it's a different bug. The backtrace seems corrupted.
> > 
> > Can you try this patch? There is some circular locking in rfkill.
> 
> I still get circular locking. The dump is

Ok.

b43 init:
        mutex_lock(wl->mutex)
        rfkill_init()
                mutex_lock(rfkill->mutex)

in operation:
        rfkill poll (no locks held)
        calls into rfkill
        mutex_lock(rfkill->mutex)
        b43_rfkill_soft_toggle()
                mutex_lock(wl->mutex)

As you can see the lock ordering of the two mutexes
is different. The problem is that we cannot easily drop
the wl->mutex on b43 init, as that would introduce some
race conditions. This is specific to b43 and rt2x00 most
likely doesn't have this requirement.
I'm not sure how to properly fix this.

-- 
Greetings Michael.
_______________________________________________
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to