On Wednesday 24 January 2007 06:43, Pavel Roskin wrote:
> On Tue, 2007-01-23 at 10:21 +0100, Michael Buesch wrote:
> > On Tuesday 23 January 2007 07:14, Pavel Roskin wrote:
> > > I have tried the patch, and it doesn't fix the problem.  It's a separate
> > > problem.  It happens when bcm43xx_interrupt_handler() is called on a
> > > device that has already been removed.
> > 
> > That shouldn't happen and doesn't for me.
> > 
> > > It looks like 
> > > bcm43xx_wireless_core_stop() should be called from
> > > bcm43xx_one_core_detach().
> > 
> > No, well... . remove_interface should have been called by the stack, no?
> 
> It is not.  It's called if I bring the interface down with ifconfig.  If
> I remove live interface with "rmmod bcm43xx_d80211",
> bcm43xx_one_core_detach() is called first, followed by kernel panic in 
> bcm43xx_interrupt_handler().
> 
> And that's what I see in the code.  Module removal calls bcm43xx_exit().
> It unregisters the ssb driver first.  The ssb layer calls
> bcm43xx_remove(), which calls bcm43xx_one_core_detach() before doing
> anything with the wireless stack or with interrupts.
> 
> I tried to put bcm43xx_one_core_detach() to the end of bcm43xx_remove(),
> but the result was the same.  Still, I think the solution lies in that
> direction.  We should stop the hardware before dismantling any data
> structures.

Ok, I see. I will try to debug this.

-- 
Greetings Michael.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to