Re: [PATCH] net/ethernet/freescale: rework quiesce/activate for ucc_geth
From: Valentin Longchamp <hidden>
Date: 2020-05-26 05:18:20
Also in:
netdev
Le 23.05.2020 à 00:50, David Miller a écrit :
From: Valentin Longchamp <redacted> Date: Wed, 20 May 2020 17:53:50 +0200quoted
ugeth_quiesce/activate are used to halt the controller when there is a link change that requires to reconfigure the mac. The previous implementation called netif_device_detach(). This however causes the initial activation of the netdevice to fail precisely because it's detached. For details, see [1]. A possible workaround was the revert of commit net: linkwatch: add check for netdevice being present to linkwatch_do_dev However, the check introduced in the above commit is correct and shall be kept. The netif_device_detach() is thus replaced with netif_tx_stop_all_queues() that prevents any tranmission. This allows to perform mac config change required by the link change, without detaching the corresponding netdevice and thus not preventing its initial activation. [1] https://lists.openwall.net/netdev/2020/01/08/201 Signed-off-by: Valentin Longchamp <redacted> Acked-by: Matteo Ghidoni <redacted>Applied, thanks.
Thanks David. May I suggest that this get backported to stable until (including) the 4.19 stable release ? As the above mentioned commit, merged for 4.19, 124eee3f6955 net: linkwatch: add check for netdevice being present to linkwatch_do_dev does indeed break the ucc_geth driver, this patch can be considered as a bugfix that should be taken into account for stable.