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 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?

christos


Home | Main Index | Thread Index | Old Index