summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman2014-05-23 03:13:53 +0200
committerGreg Kroah-Hartman2014-05-23 03:13:53 +0200
commitcbfef53360ea88fa7ef9f80def778fba9b05d21e (patch)
tree9e23ee08206ec0304e25e8a93eabc2d5bcd8ae9c /drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
parentMerge 3.15-rc3 into staging-next (diff)
parentLinux 3.15-rc6 (diff)
downloadkernel-qcow2-linux-cbfef53360ea88fa7ef9f80def778fba9b05d21e.tar.gz
kernel-qcow2-linux-cbfef53360ea88fa7ef9f80def778fba9b05d21e.tar.xz
kernel-qcow2-linux-cbfef53360ea88fa7ef9f80def778fba9b05d21e.zip
Merge 3.15-rc6 into driver-core-next
We want the kernfs fixes in this branch as well for testing. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c')
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
index 0638c1810d54..6afe9c1f5ab9 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c
@@ -1370,7 +1370,7 @@ static int qlcnic_sriov_issue_cmd(struct qlcnic_adapter *adapter,
rsp = qlcnic_sriov_alloc_bc_trans(&trans);
if (rsp)
- return rsp;
+ goto free_cmd;
rsp = qlcnic_sriov_prepare_bc_hdr(trans, cmd, seq, QLC_BC_COMMAND);
if (rsp)
@@ -1425,6 +1425,13 @@ err_out:
cleanup_transaction:
qlcnic_sriov_cleanup_transaction(trans);
+
+free_cmd:
+ if (cmd->type == QLC_83XX_MBX_CMD_NO_WAIT) {
+ qlcnic_free_mbx_args(cmd);
+ kfree(cmd);
+ }
+
return rsp;
}