Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: wpi0 going offline frequently
On Mon, 18 Feb 2008 11:43:19 -0600
David Young <dyoung%pobox.com@localhost> wrote:
> On Mon, Feb 18, 2008 at 06:36:56AM +0000, Steven M. Bellovin wrote:
> > On a Thinkpad T61 running amd64-current (right now, 4.99.53, but
> > this has been going on for a while), wpi0 will frequently go
> > offline after a
> >
> > wpi0: fatal firmware error
> >
> > message. This almost always happens when I start X, perhaps
> > because of interrupts being masked. It happened just now in this
> > sequence:
>
> It looks to me like you can recover by calling wpi_stop(, 0) and
> wpi_init(), since wpi_init() reloads and restarts the firmware.
> However, wpi_init() cannot be called from interrupt context. I
> suppose wpi needs some kernel thread to wake and call wpi_init().
> That thread needs to be synchronized with other threads that may call
> _stop() or _init(), and it needs to be synchronized with interrupts.
Gotcha.
>
> BTW, wpi misuses the IFF_UP flag in wpi_intr() and elsewhere. By
> convention, the operator "owns" the IFF_UP bit. wpi should read/write
> IFF_RUNNING instead of IFF_UP in a few of the places where it modifies
> IFF_UP, now.
>
It seems to turn off both flags.
--Steve Bellovin, http://www.cs.columbia.edu/~smb
Home |
Main Index |
Thread Index |
Old Index