octeontx2-pf: mcs: Clear stats before freeing resource
authorSubbaraya Sundeep <sbhatta@marvell.com>
Wed, 26 Apr 2023 06:25:26 +0000 (11:55 +0530)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 27 Apr 2023 10:38:11 +0000 (12:38 +0200)
When freeing MCS hardware resources like SecY, SC and
SA the corresponding stats needs to be cleared. Otherwise
previous stats are shown in newly created macsec interfaces.

Fixes: c54ffc73601c ("octeontx2-pf: mcs: Introduce MACSEC hardware offloading")
Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
Signed-off-by: Sunil Goutham <sgoutham@marvell.com>
Signed-off-by: Geetha sowjanya <gakula@marvell.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c

index f699209..13faca9 100644 (file)
@@ -150,11 +150,20 @@ static void cn10k_mcs_free_rsrc(struct otx2_nic *pfvf, enum mcs_direction dir,
                                enum mcs_rsrc_type type, u16 hw_rsrc_id,
                                bool all)
 {
+       struct mcs_clear_stats *clear_req;
        struct mbox *mbox = &pfvf->mbox;
        struct mcs_free_rsrc_req *req;
 
        mutex_lock(&mbox->lock);
 
+       clear_req = otx2_mbox_alloc_msg_mcs_clear_stats(mbox);
+       if (!clear_req)
+               goto fail;
+
+       clear_req->id = hw_rsrc_id;
+       clear_req->type = type;
+       clear_req->dir = dir;
+
        req = otx2_mbox_alloc_msg_mcs_free_resources(mbox);
        if (!req)
                goto fail;