[OpenWrt-Devel] [PATCH] ar71xx: check for stuck DMA on AR724x & fix sirq storm after recovery

Conn O'Griofa connogriofa at gmail.com
Fri Jan 8 14:17:49 EST 2016


On 08/01/16 18:48, Conn O'Griofa wrote:

> Unfortunately, your proposed patch doesn't work. When I trigger the timeout condition, a tx timeout occurs and the interface doesn't recover correctly:

I'm not able to test recompiles for a few hours at least, but:

* After your patch failed, I already tested quick rebuild, changing ag71xx_restart_work_func to use:

	rtnl_lock();
	ag71xx_stop(ag->dev);
	ag71xx_open(ag->dev);
	rtnl_unlock();

With that change to your patch, the link adjust was triggered before the tx timeout was triggered (expected), but the sirq storm still occurred.

* In ag71xx_hw_enable, netif_start_queue is issued. Since this function is used for the fast restart, that should probably be changed to netif_wake_queue so that the kernel will check for anything pending in the queue to be sent (which is certain to be true). I'll check this as soon as it's possible.

Conn
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list