]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_ethtool.c
authorDipendra Khadka <kdipendra88@gmail.com>
Thu, 17 Oct 2024 19:02:29 +0000 (19:02 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2024 12:53:16 +0000 (13:53 +0100)
[ Upstream commit e26f8eac6bb20b20fdb8f7dc695711ebce4c7c5c ]

Add error pointer check after calling otx2_mbox_get_rsp().

Fixes: 75f36270990c ("octeontx2-pf: Support to enable/disable pause frames via ethtool")
Fixes: d0cf9503e908 ("octeontx2-pf: ethtool fec mode support")
Signed-off-by: Dipendra Khadka <kdipendra88@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c

index 0db62eb0dab3f06866c316521bcaf65ddb5037dc..09317860e73827f6d89aa14c82e008d797463672 100644 (file)
@@ -343,6 +343,11 @@ static void otx2_get_pauseparam(struct net_device *netdev,
        if (!otx2_sync_mbox_msg(&pfvf->mbox)) {
                rsp = (struct cgx_pause_frm_cfg *)
                       otx2_mbox_get_rsp(&pfvf->mbox.mbox, 0, &req->hdr);
+               if (IS_ERR(rsp)) {
+                       mutex_unlock(&pfvf->mbox.lock);
+                       return;
+               }
+
                pause->rx_pause = rsp->rx_pause;
                pause->tx_pause = rsp->tx_pause;
        }
@@ -1074,6 +1079,11 @@ static int otx2_set_fecparam(struct net_device *netdev,
 
        rsp = (struct fec_mode *)otx2_mbox_get_rsp(&pfvf->mbox.mbox,
                                                   0, &req->hdr);
+       if (IS_ERR(rsp)) {
+               err = PTR_ERR(rsp);
+               goto end;
+       }
+
        if (rsp->fec >= 0)
                pfvf->linfo.fec = rsp->fec;
        else