]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: dsa: felix: ignore pending status of TAS module when it's disabled
authorXiaoliang Yang <xiaoliang.yang_1@nxp.com>
Fri, 6 Sep 2024 09:35:50 +0000 (17:35 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Sep 2024 17:24:09 +0000 (19:24 +0200)
commitfc8c0cec1b48222482af0d1768ff01082b1fae6f
tree86798e7a7ada766de048f587dcfdec6da6c72a12
parent83e6fb59040e8964888afcaa5612cc1243736715
net: dsa: felix: ignore pending status of TAS module when it's disabled

[ Upstream commit 70654f4c212e83898feced125d91ebb3695950d8 ]

The TAS module could not be configured when it's running in pending
status. We need disable the module and configure it again. However, the
pending status is not cleared after the module disabled. TC taprio set
will always return busy even it's disabled.

For example, a user uses tc-taprio to configure Qbv and a future
basetime. The TAS module will run in a pending status. There is no way
to reconfigure Qbv, it always returns busy.

Actually the TAS module can be reconfigured when it's disabled. So it
doesn't need to check the pending status if the TAS module is disabled.

After the patch, user can delete the tc taprio configuration to disable
Qbv and reconfigure it again.

Fixes: de143c0e274b ("net: dsa: felix: Configure Time-Aware Scheduler via taprio offload")
Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
Link: https://patch.msgid.link/20240906093550.29985-1-xiaoliang.yang_1@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/dsa/ocelot/felix_vsc9959.c