cvs commit: src/sys/dev/an if_an.c src/sys/dev/arl
if_arl_isa.c src/sys/dev/awi if_awi_pccard.c src/sys/dev/cm if_cm_isa.c
src/sys/dev/cnw if_cnw.c src/sys/dev/cp if_cp.c src/sys/dev/cs if_cs.c
src/sys/dev/ed if_ed.c src/sys/dev/em if_em.c ...
M. Warner Losh
imp at bsdimp.com
Sun Sep 18 21:39:24 PDT 2005
In message: <432E3252.5060608 at cronyx.ru>
Roman Kurakin <rik at cronyx.ru> writes:
: I didn't check what was done for my drivers, but I'll
: put situation the other way. At the point we are going
: to unregister interrupt handler we have atleast half-stoped
: device. This may mean that any coming packet through
: if_start would reactivate device or put it to unknown state.
: Just as with problem you've tried to fix this is hardly
: depend on driver design. IMHO the better aproach is to
: set some flag for the interrupt handler that we should only
: clear any interrupts and ignore interrupt details.
While an addition flag may be necessary to cover all cases, this
change is necessary because the interrupt handlers in each of these
drivers appears to depend on ifp being allocated and alive. This
change fixes the ordering problem. I'm working on a better, more
complete solution. These changes are a step in that road.
More information about the cvs-src