Message ID | 392fb48f0907120242r438411ccm5507998c3fcad877@mail.gmail.com |
---|---|
State | Awaiting Upstream, archived |
Delegated to: | David Miller |
Headers | show |
Hi Stephen, Ignore this. I was using 2.6.30 with the sky2 code from net-next-2.6, and the core network core code changed (in cdd0db058d64f). I'll move over to using net-next-2.6 and deal with the instability... thanks, Mike 2009/7/12 Mike McCormack <mikem@ring3k.org>: > Hi Stephen, > > I was curious as to why sky2_tx_timeout() was being called once when > the driver started, and never again (which originally caused the crash > resolved by the previous patch). > > I might be missing something, but it looks like we the transmit > watchdog needs to be kicked whenever a packet is transmitted. > > This patch has had a small amount of testing, but reviewing other > drivers (e.g. net/atm/lec.c), this appears to be what is done. > > thanks, > > Mike > > --- > > If we don't kick the watchdog, it always triggers. > > Signed-off-by: Mike McCormack <mikem@ring3k.org> > --- > drivers/net/sky2.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c > index 77fd1b9..48d58ec 100644 > --- a/drivers/net/sky2.c > +++ b/drivers/net/sky2.c > @@ -1708,6 +1708,8 @@ static int sky2_xmit_frame(struct sk_buff *skb, > struct net_device *dev) > > sky2_put_idx(hw, txqaddr[sky2->port], sky2->tx_prod); > > + dev->trans_start = jiffies; /* restart tx timeout */ > + > return NETDEV_TX_OK; > > mapping_unwind: > -- > 1.5.6.5 > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 77fd1b9..48d58ec 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -1708,6 +1708,8 @@ static int sky2_xmit_frame(struct sk_buff *skb, struct net_device *dev) sky2_put_idx(hw, txqaddr[sky2->port], sky2->tx_prod); + dev->trans_start = jiffies; /* restart tx timeout */ + return NETDEV_TX_OK;
Hi Stephen, I was curious as to why sky2_tx_timeout() was being called once when the driver started, and never again (which originally caused the crash resolved by the previous patch). I might be missing something, but it looks like we the transmit watchdog needs to be kicked whenever a packet is transmitted. This patch has had a small amount of testing, but reviewing other drivers (e.g. net/atm/lec.c), this appears to be what is done. thanks, Mike --- If we don't kick the watchdog, it always triggers. Signed-off-by: Mike McCormack <mikem@ring3k.org> --- drivers/net/sky2.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) mapping_unwind: