octeontx2-pf: unlock on error path in otx2_config_pause_frm()
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 12 Mar 2020 11:30:48 +0000 (14:30 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 12 Mar 2020 22:52:30 +0000 (15:52 -0700)
We need to unlock before returning if this allocation fails.

Fixes: 75f36270990c ("octeontx2-pf: Support to enable/disable pause frames via ethtool")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c

index af4437d..1577354 100644 (file)
@@ -227,14 +227,17 @@ int otx2_config_pause_frm(struct otx2_nic *pfvf)
 
        otx2_mbox_lock(&pfvf->mbox);
        req = otx2_mbox_alloc_msg_cgx_cfg_pause_frm(&pfvf->mbox);
-       if (!req)
-               return -ENOMEM;
+       if (!req) {
+               err = -ENOMEM;
+               goto unlock;
+       }
 
        req->rx_pause = !!(pfvf->flags & OTX2_FLAG_RX_PAUSE_ENABLED);
        req->tx_pause = !!(pfvf->flags & OTX2_FLAG_TX_PAUSE_ENABLED);
        req->set = 1;
 
        err = otx2_sync_mbox_msg(&pfvf->mbox);
+unlock:
        otx2_mbox_unlock(&pfvf->mbox);
        return err;
 }