Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: if_iwn.c patch to support the 5100... (analysis + patch)
On Fri September 18 2009 09:27:01 Christos Zoulas wrote:
> On Sep 18, 9:14am, sverre%viewmark.com@localhost (Sverre Froyen) wrote:
> -- Subject: Re: if_iwn.c patch to support the 5100... (analysis + patch)
>
> | On Fri September 18 2009 04:05:19 Brett Lymn wrote:
> | > On Thu, Sep 17, 2009 at 09:39:20AM -0600, Sverre Froyen wrote:
> | > > It looks like these errors may be because iwn_init is called a second
> | > > time before the first call has completed. It is called via the
> | > > "if_init" pointer and also through iwn_ioctl. The call via the ioctl
> | > > path only happens if the IFF_UP is set. I notice that, e.g.,
> | > > net/if_ethersubr.c sets this flag before the call to if_init. While
> | > > this seems counterintuitive to me it is appears to be the way it's
> | > > always worked. The simplest fix is to remove the call to iwn_init
> | > > from iwn_ioctl:
> | >
> | > Doesn't that have the unfortunate side effect of you then being unable
> | > to reset the interface by doing an ifconfig down/up?
> |
> | You are correct. Calling it a patch was an exaggeration. I quick test
> | shows that ifconfig up/down indeed leaves the interface in a non-working
> | state. (Still better than a panic at boot, though.)
> |
> | In order to serialize access (or really prevent a second simultaneous
> | access) is the following the correct approach?
>
> cvs rdiff -u -r1.151 -r1.152 src/sys/netinet6/in6.c
> cvs rdiff -u -r1.82 -r1.83 src/sys/netinet6/in6_ifattach.c
> cvs rdiff -u -r1.11 -r1.12 src/sys/netinet6/in6_ifattach.h
>
>Can you try backing out those three changes instead?
NetBSD-current as of this morning, which includes the above backout,
works fine without my "patch".
Current also no longer panics in the ne and wi drivers (it did last week). I
suspect that the iwi panic reported in kern/42069 has also been fixed.
Thanks,
Sverre
Home |
Main Index |
Thread Index |
Old Index