Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Sep 2005 22:39:10 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        rik@cronyx.ru
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: 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 ...
Message-ID:  <20050918.223910.51643480.imp@bsdimp.com>
In-Reply-To: <432E3252.5060608@cronyx.ru>
References:  <200509190310.j8J3ALgt095979@repoman.freebsd.org> <432E3252.5060608@cronyx.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <432E3252.5060608@cronyx.ru>
            Roman Kurakin <rik@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.

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050918.223910.51643480.imp>