Michael Chan wrote: > Eric Lemoine wrote: > > > Instead of tg3_netif_stop() tg3_close() uses netif_stop_queue() > > to stop xmit. This doesn't seem right to me. E.g. another CPU > > in tg3_tx() > > could do netif_wake_queue() just after tg3_close() did > > netif_stop_queue(). Isn't a bug? > > > > I think you're right. It is more correct to call tg3_netif_stop(). >
I take it back. Before ->stop() is called, netif_running is cleared, and it waits for __LINK_STATE_RX_SCHED to be cleared. This means that it will wait for the last ->poll() to finish. So it is not possible for tg3_poll() -> tg3_tx() to run any more after tg3_close() is called. - 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