diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2020-03-12 14:30:48 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-03-12 15:52:30 -0700 |
commit | 8a765471a65ebc81d8905c94648f3143e720cdec (patch) | |
tree | 96a1c65421825f8c58a42641c6ee2ddced2f47e2 | |
parent | 0f70eedc0f770af21571eff340bf388a1b4f3744 (diff) |
octeontx2-pf: unlock on error path in otx2_config_pause_frm()
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>
-rw-r--r-- | drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c index af4437d4dfcb..157735443473 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c @@ -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; } |