Re: tg3_close question

2006-11-09 Thread Eric Lemoine
On 11/9/06, Michael Chan <[EMAIL PROTECTED]> wrote: 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

Re: tg3_close question

2006-11-09 Thread Maxime Bizon
On Thu, 2006-11-09 at 18:22 +0100, Eric Lemoine wrote: > 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? Further

Re: tg3_close question

2006-11-09 Thread Michael Chan
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

Re: tg3_close question

2006-11-09 Thread Eric Lemoine
On 11/9/06, Eric Lemoine <[EMAIL PROTECTED]> wrote: On 11/9/06, Michael Chan <[EMAIL PROTECTED]> wrote: > 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 > >

Re: tg3_close question

2006-11-09 Thread Eric Lemoine
On 11/9/06, Michael Chan <[EMAIL PROTECTED]> wrote: 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_clo

Re: tg3_close question

2006-11-09 Thread Michael Chan
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? > > >

Re: tg3_close question

2006-11-09 Thread Michael Chan
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 correc

tg3_close question

2006-11-09 Thread Eric Lemoine
Hi 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? Thanks, -- Eric - To unsubscribe from this list: send the line "uns