Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: iwn, wpa_supplicant, and wpa2 enterprise
On Fri June 4 2010 01:45:22 Roy Marples wrote:
> On 06/04/10 02:54, Sverre Froyen wrote:
> > I see a "iwn0: cannot assign link-local address" message on the console,
> > which could be from a dhcpcd triggered iwn_ioctl call that fails because
> > of the rev 1.94 change, thereby causing a dhcpcd failure.
>
> That's not a dhcpcd message. Probably refers to the link-local IPv6
> address.
You're correct. It's not caused by dhcpcd. I instrumented the iwn driver to
list the failed ioctls. There are two. The first one is from wpa_supplicant:
iwn0: ioctl while busy: 0xc0706984
(the hex number is the command). This is followed by
iwn0: cannot assign link-local address
and another failed ioctl from dhcpcd:
iwn0: ioctl while busy: 0xc0906911
I still suspect that dhcpcd treats the failed (EBUSY) ioctl differently than a
successful ioctl with a non-active status, and that this is the cause of its
failure to configure the interface.
As a test, I modified iwn_ioctl to skip the error return:
/*
* Prevent processes from entering this function while another
* process is tsleep'ing in it.
*/
if (sc->sc_flags & IWN_FLAG_BUSY) {
splx(s);
aprint_normal_dev(sc->sc_dev,
"ioctl while busy: 0x%lx\n", cmd);
/* return EBUSY; */
s = splnet();
}
With this change my laptop boots normally.
Not sure what to do next. I attempted adding a 1 sec DELAY and rechecking the
busy bit. This had no effect. Perhaps use a tsleep? Suggestions are welcome :-)
Sverre
Home |
Main Index |
Thread Index |
Old Index