[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <28499d90be6a410f9a24d64b76a5c262@DB3PR02MB202.eurprd02.prod.outlook.com>
Date: Thu, 10 Apr 2014 09:16:20 +0000
From: "Nekludov, Max" <Max.Nekludov@...ter.com>
To: David Miller <davem@...emloft.net>
CC: "torvalds@...ux-foundation.org" <torvalds@...ux-foundation.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"sboyd@...eaurora.org" <sboyd@...eaurora.org>,
"mjr@...wisc.edu" <mjr@...wisc.edu>,
"jiri@...nulli.us" <jiri@...nulli.us>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"trivial@...tcorp.com.au" <trivial@...tcorp.com.au>
Subject: RE: ks8851: reset on RX failure and TX timeout
I've tried to use ndo_tx_timeout. Actually it works. But it takes too long time after TX failure and before watchdog fires.
As I understand ndo_tx_timeout will be called only if tx queue is stopped. But ks8851 driver stops queue only after it's full.
So one have to send a lot of data to reset device (~6KiB).
But I need to recover as fast as possible. Could you suggest how to achieve that?
________________________________________
From: David Miller <davem@...emloft.net>
Sent: Thursday, April 3, 2014 9:32 PM
To: Nekludov, Max
Cc: torvalds@...ux-foundation.org; netdev@...r.kernel.org; sboyd@...eaurora.org; mjr@...wisc.edu; jiri@...nulli.us; linux-kernel@...r.kernel.org; trivial@...tcorp.com.au
Subject: Re: ks8851: reset on RX failure and TX timeout
From: "Nekludov, Max" <Max.Nekludov@...ter.com>
Date: Wed, 2 Apr 2014 06:31:23 +0000
> Electromagnetic noise can make device to not send TX interrupts.
> As result outgoing queue will be suspended forever.
> Also EMI can raise RX interrupt with zero value in KS_RXFC register.
>
> Signed-off-by: Max Nekludov <Max.Nekludov@...ter.com>
We have a watchdog facility for TX timeouts, don't reinvent the wheel.
Implement ->ndo_tx_timeout() and set dev->watchdog_timeo appropriately.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists