RE: [PATCH 1/1] atl1c: fix issue of transmit queue 0 timed out

From: Huang, Xiong
Date: Tue Jun 26 2012 - 16:25:21 EST


Yes, another fix to remove netif_stop_queue when cable link is down.

-Xiong

> -----Original Message-----
> From: Ben Hutchings [mailto:bhutchings@xxxxxxxxxxxxxx]
> Sent: Wednesday, June 27, 2012 4:24
> To: Ren, Cloud
> Cc: davem@xxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; qca-linux-team; nic-devel; Huang, Xiong
> Subject: Re: [PATCH 1/1] atl1c: fix issue of transmit queue 0 timed out
>
> On Tue, 2012-06-26 at 12:33 -0300, Ren, Cloud wrote:
> > From: xiong <xiong@xxxxxxxxxxxxxxxx>
> >
> > some people report atl1c could cause system hang with following kernel
> > trace info:
> > ---------------------------------------
> > WARNING: at.../net/sched/sch_generic.c:258
> > dev_watchdog+0x1db/0x1d0()
> > ...
> > NETDEV WATCHDOG: eth0 (atl1c): transmit queue 0 timed out ...
> > ---------------------------------------
> > This is caused by netif_stop_queue calling when cable Link is down but
> > netif_wake_queue isn't called when cable Link is resume.
> >
> > Signed-off-by: xiong <xiong@xxxxxxxxxxxxxxxx>
> > Signed-off-by: Cloud Ren <cjren@xxxxxxxxxxxxxxxx>
> > ---
> > drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 2 ++
> > 1 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
> > b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
> > index 85717cb..c2736c4 100644
> > --- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
> > +++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
> > @@ -351,6 +351,8 @@ static void atl1c_common_task(struct work_struct
> *work)
> > atl1c_irq_disable(adapter);
> > atl1c_check_link_status(adapter);
> > atl1c_irq_enable(adapter);
> > + if (netif_queue_stopped(netdev) && netif_carrier_ok(netdev))
> > + netif_wake_queue(netdev);
> > }
> > }
> >
>
> Why explicitly stop/start the queue when the link changes? That's what
> link_watch is for.
>
> Ben.
>
> --
> Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's
> the marketing department's job.
> They asked us to note that Solarflare product names are trademarked.

èº{.nÇ+‰·Ÿ®‰­†+%ŠËlzwm…ébëæìr¸›zX§»®w¥Š{ayºÊÚë,j­¢f£¢·hš‹àz¹®w¥¢¸ ¢·¦j:+v‰¨ŠwèjØm¶Ÿÿ¾«‘êçzZ+ƒùšŽŠÝj"ú!¶iO•æ¬z·švØ^¶m§ÿðà nÆàþY&—