When running dpdk congiguration script dpdk_configure_1028ardb.sh
to setup dpdk work environment, the fsl_enetc driver is unbound. But
the CBS structure is not released in enetc_tsn_deinit() function. So,
add a function enetc_cbs_free() to free CBS structure.

Signed-off-by: Meng Li <[email protected]>
---
 drivers/net/ethernet/freescale/enetc/enetc_tsn.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/net/ethernet/freescale/enetc/enetc_tsn.c 
b/drivers/net/ethernet/freescale/enetc/enetc_tsn.c
index 55652dc43adb..49e0ebf3819e 100644
--- a/drivers/net/ethernet/freescale/enetc/enetc_tsn.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc_tsn.c
@@ -1915,6 +1915,12 @@ static void enetc_cbs_init(struct enetc_si *si)
        }
 }
 
+static void enetc_cbs_free(struct enetc_si *si)
+{
+       kfree(si->ecbs);
+       si->ecbs = NULL;
+}
+
 static void enetc_qbv_init(struct enetc_hw *hw)
 {
        /* Set PSPEED to be 1Gbps */
@@ -1948,6 +1954,12 @@ void enetc_tsn_deinit(struct net_device *ndev)
 {
        struct enetc_ndev_priv *priv = netdev_priv(ndev);
        struct enetc_si *si = priv->si;
+       u32 capability;
+
+       capability = __enetc_tsn_get_cap(si);
+
+       if (capability & TSN_CAP_CBS)
+               enetc_cbs_free(si);
 
        dev_info(&si->pdev->dev, "%s: release\n", __func__);
 }
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13002): 
https://lists.yoctoproject.org/g/linux-yocto/message/13002
Mute This Topic: https://lists.yoctoproject.org/mt/100866557/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to