Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

sfc: don't unregister flow_indr if it was never registered

In efx_init_tc(), move the setting of efx->tc->up after the
flow_indr_dev_register() call, so that if it fails, efx_fini_tc()
won't call flow_indr_dev_unregister().

Fixes: 5b2e12d51bd8 ("sfc: bind indirect blocks for TC offload on EF100")
Suggested-by: Pieter Jansen van Vuuren <pieter.jansen-van-vuuren@amd.com>
Reviewed-by: Martin Habets <habetsm.xilinx@gmail.com>
Signed-off-by: Edward Cree <ecree.xilinx@gmail.com>
Link: https://lore.kernel.org/r/a81284d7013aba74005277bd81104e4cfbea3f6f.1692114888.git.ecree.xilinx@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Edward Cree and committed by
Jakub Kicinski
fa165e19 23d775f1

+1 -1
+1 -1
drivers/net/ethernet/sfc/tc.c
··· 1657 1657 rc = efx_tc_configure_fallback_acts_reps(efx); 1658 1658 if (rc) 1659 1659 return rc; 1660 - efx->tc->up = true; 1661 1660 rc = flow_indr_dev_register(efx_tc_indr_setup_cb, efx); 1662 1661 if (rc) 1663 1662 return rc; 1663 + efx->tc->up = true; 1664 1664 return 0; 1665 1665 } 1666 1666