RE: [PATCH 2/2] e1000e: start network tx queue only when link is up

From: Brown, Aaron F
Date: Thu Apr 25 2019 - 20:05:06 EST


> From: Konstantin Khlebnikov [mailto:khlebnikov@xxxxxxxxxxxxxx]
> Sent: Wednesday, April 17, 2019 1:13 AM
> To: netdev@xxxxxxxxxxxxxxx; intel-wired-lan@xxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Kirsher, Jeffrey T <jeffrey.t.kirsher@xxxxxxxxx>
> Cc: Sasha Levin <sashal@xxxxxxxxxx>; Joseph Yasi <joe.yasi@xxxxxxxxx>;
> Brown, Aaron F <aaron.f.brown@xxxxxxxxx>; Alexander Duyck
> <alexander.duyck@xxxxxxxxx>; e1000-devel@xxxxxxxxxxxxxxxxxxxxx
> Subject: [PATCH 2/2] e1000e: start network tx queue only when link is up
>
> Driver does not want to keep packets in tx queue when link is lost.
> But present code only reset NIC to flush them, but does not prevent
> queuing new packets. Moreover reset sequence itself could generate
> new packets via netconsole and NIC falls into endless reset loop.
>
> This patch wakes tx queue only when NIC is ready to send packets.
>
> This is proper fix for problem addressed by commit 0f9e980bf5ee
> ("e1000e: fix cyclic resets at link up with active tx").
>
> Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
> Suggested-by: Alexander Duyck <alexander.duyck@xxxxxxxxx>
> ---
> drivers/net/ethernet/intel/e1000e/netdev.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx>
Again, more of a regression check than a test that the patch solves the problem as I did not manage to trigger the hang.