> > I think the answer is no, here, because of ip_rput.  There is a risk 
 > > that some badly written driver will call putnext() to pass a packet 
 > > upstream while holding a lock.  Cetainly I think this can be called 
 > > while the driver is operating in interrupt context.
 > 
 > Holding a lock across putnext is just a programming error.

Sadly, you can actually make it mostly work by having the put procedure
check (at entry) to see if the lock(s) held across putnext are already
held and punt to the service procedure if so.  I recall that e1000g used
to do this -- not sure if it still does.

-- 
meem
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to