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