[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4B41560C.4040500@gmail.com>
Date: Sun, 03 Jan 2010 19:44:28 -0700
From: "Berck E. Nash" <flyboy@...il.com>
To: Jarek Poplawski <jarkao2@...il.com>
CC: Mike McCormack <mikem@...g3k.org>,
Stephen Hemminger <shemminger@...tta.com>,
netdev@...r.kernel.org, dhazelton@...er.net, mbreuer@...jas.com
Subject: Re: [PATCH] sky2: Lock transmit queue while disabling device
Jarek Poplawski wrote:
> Yes, it seems this lock might be needed around this place, but I'd
> like to check another idea: if it's not about awakening too early.
> Berck, could you try this patch?
Okay, after running with that for several days I have not gotten the
oops. That doesn't mean that I won't tomorrow, but I've gotten several
of these:
[45621.704025] sky2 eth0: hung mac 124:21 fifo 195 (127:122)
[45621.704027] sky2 eth0: receiver hang detected
[45621.708524] sky2 eth0: disabling interface
[45621.715229] sky2 eth0: enabling interface
[45624.862111] sky2 eth0: Link is up at 1000 Mbps, full duplex, flow
control both
[61024.704036] sky2 eth0: hung mac 124:75 fifo 195 (133:128)
[61024.704039] sky2 eth0: receiver hang detected
[61024.708487] sky2 eth0: disabling interface
[61024.714791] sky2 eth0: enabling interface
[61027.864288] sky2 eth0: Link is up at 1000 Mbps, full duplex, flow
control both
And it hasn't crashed. The "receiver hang detected" would often (but
not always) be followed by the oops before.
Berck
> ---
>
> drivers/net/sky2.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
> index 1c01b96..31f1629 100644
> --- a/drivers/net/sky2.c
> +++ b/drivers/net/sky2.c
> @@ -1844,7 +1844,7 @@ static void sky2_tx_complete(struct sky2_port *sky2, u16 done)
> sky2->tx_cons = idx;
> smp_mb();
>
> - if (tx_avail(sky2) > MAX_SKB_TX_LE + 4)
> + if (tx_avail(sky2) > MAX_SKB_TX_LE + 4 && netif_device_present(dev))
> netif_wake_queue(dev);
> }
>
>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists