Eric Lemoine wrote:

> > On 11/9/06, Michael Chan <[EMAIL PROTECTED]> wrote:
> > > So it is not possible for tg3_poll() -> tg3_tx() to run any more
> > > after tg3_close() is called.
> >
> > But, while tg3_close() starts executing, an interrupt may 
> > come in and
> > schedule polling (set  __LINK_STATE_RX_SCHED). So tg3_poll() ->
> > tg3_tx() may well occur.
> 
> Actually I don't understand the purpose of having dev_close() wait for
> __LINK_STATE_RX_SCHED to be cleared. An interrupt may arrive at any
> time after it's cleared, and reset __LINK_STATE_RX_SCHED. Can someone
> explain please?
> 

If netif_running() is cleared, netif_rx_schedule() will not schedule
the ->poll().  So even if tg3 gets an interrupt after close,
tg3_poll() will not be scheduled.

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to