|
@@ -194,7 +194,10 @@ int qlcnic_fw_cmd_set_drv_version(struct qlcnic_adapter *adapter)
|
|
_QLCNIC_LINUX_MAJOR, _QLCNIC_LINUX_MINOR,
|
|
_QLCNIC_LINUX_MAJOR, _QLCNIC_LINUX_MINOR,
|
|
_QLCNIC_LINUX_SUBVERSION);
|
|
_QLCNIC_LINUX_SUBVERSION);
|
|
|
|
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_DRV_VER);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_DRV_VER);
|
|
|
|
+ if (err)
|
|
|
|
+ return err;
|
|
|
|
+
|
|
memcpy(&arg1, drv_string, sizeof(u32));
|
|
memcpy(&arg1, drv_string, sizeof(u32));
|
|
memcpy(&arg2, drv_string + 4, sizeof(u32));
|
|
memcpy(&arg2, drv_string + 4, sizeof(u32));
|
|
memcpy(&arg3, drv_string + 8, sizeof(u32));
|
|
memcpy(&arg3, drv_string + 8, sizeof(u32));
|
|
@@ -222,7 +225,10 @@ qlcnic_fw_cmd_set_mtu(struct qlcnic_adapter *adapter, int mtu)
|
|
|
|
|
|
if (recv_ctx->state != QLCNIC_HOST_CTX_STATE_ACTIVE)
|
|
if (recv_ctx->state != QLCNIC_HOST_CTX_STATE_ACTIVE)
|
|
return err;
|
|
return err;
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_MTU);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_MTU);
|
|
|
|
+ if (err)
|
|
|
|
+ return err;
|
|
|
|
+
|
|
cmd.req.arg[1] = recv_ctx->context_id;
|
|
cmd.req.arg[1] = recv_ctx->context_id;
|
|
cmd.req.arg[2] = mtu;
|
|
cmd.req.arg[2] = mtu;
|
|
|
|
|
|
@@ -336,7 +342,10 @@ int qlcnic_82xx_fw_cmd_create_rx_ctx(struct qlcnic_adapter *adapter)
|
|
}
|
|
}
|
|
|
|
|
|
phys_addr = hostrq_phys_addr;
|
|
phys_addr = hostrq_phys_addr;
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CREATE_RX_CTX);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CREATE_RX_CTX);
|
|
|
|
+ if (err)
|
|
|
|
+ goto out_free_rsp;
|
|
|
|
+
|
|
cmd.req.arg[1] = MSD(phys_addr);
|
|
cmd.req.arg[1] = MSD(phys_addr);
|
|
cmd.req.arg[2] = LSD(phys_addr);
|
|
cmd.req.arg[2] = LSD(phys_addr);
|
|
cmd.req.arg[3] = rq_size;
|
|
cmd.req.arg[3] = rq_size;
|
|
@@ -374,10 +383,10 @@ int qlcnic_82xx_fw_cmd_create_rx_ctx(struct qlcnic_adapter *adapter)
|
|
recv_ctx->context_id = le16_to_cpu(prsp->context_id);
|
|
recv_ctx->context_id = le16_to_cpu(prsp->context_id);
|
|
recv_ctx->virt_port = prsp->virt_port;
|
|
recv_ctx->virt_port = prsp->virt_port;
|
|
|
|
|
|
|
|
+ qlcnic_free_mbx_args(&cmd);
|
|
out_free_rsp:
|
|
out_free_rsp:
|
|
dma_free_coherent(&adapter->pdev->dev, rsp_size, prsp,
|
|
dma_free_coherent(&adapter->pdev->dev, rsp_size, prsp,
|
|
- cardrsp_phys_addr);
|
|
|
|
- qlcnic_free_mbx_args(&cmd);
|
|
|
|
|
|
+ cardrsp_phys_addr);
|
|
out_free_rq:
|
|
out_free_rq:
|
|
dma_free_coherent(&adapter->pdev->dev, rq_size, prq, hostrq_phys_addr);
|
|
dma_free_coherent(&adapter->pdev->dev, rq_size, prq, hostrq_phys_addr);
|
|
return err;
|
|
return err;
|
|
@@ -389,7 +398,10 @@ void qlcnic_82xx_fw_cmd_del_rx_ctx(struct qlcnic_adapter *adapter)
|
|
struct qlcnic_cmd_args cmd;
|
|
struct qlcnic_cmd_args cmd;
|
|
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
|
|
struct qlcnic_recv_context *recv_ctx = adapter->recv_ctx;
|
|
|
|
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_DESTROY_RX_CTX);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_DESTROY_RX_CTX);
|
|
|
|
+ if (err)
|
|
|
|
+ return;
|
|
|
|
+
|
|
cmd.req.arg[1] = recv_ctx->context_id;
|
|
cmd.req.arg[1] = recv_ctx->context_id;
|
|
err = qlcnic_issue_cmd(adapter, &cmd);
|
|
err = qlcnic_issue_cmd(adapter, &cmd);
|
|
if (err)
|
|
if (err)
|
|
@@ -458,7 +470,10 @@ int qlcnic_82xx_fw_cmd_create_tx_ctx(struct qlcnic_adapter *adapter,
|
|
|
|
|
|
phys_addr = rq_phys_addr;
|
|
phys_addr = rq_phys_addr;
|
|
|
|
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CREATE_TX_CTX);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CREATE_TX_CTX);
|
|
|
|
+ if (err)
|
|
|
|
+ goto out_free_rsp;
|
|
|
|
+
|
|
cmd.req.arg[1] = MSD(phys_addr);
|
|
cmd.req.arg[1] = MSD(phys_addr);
|
|
cmd.req.arg[2] = LSD(phys_addr);
|
|
cmd.req.arg[2] = LSD(phys_addr);
|
|
cmd.req.arg[3] = rq_size;
|
|
cmd.req.arg[3] = rq_size;
|
|
@@ -474,12 +489,13 @@ int qlcnic_82xx_fw_cmd_create_tx_ctx(struct qlcnic_adapter *adapter,
|
|
err = -EIO;
|
|
err = -EIO;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ qlcnic_free_mbx_args(&cmd);
|
|
|
|
+
|
|
|
|
+out_free_rsp:
|
|
dma_free_coherent(&adapter->pdev->dev, rsp_size, rsp_addr,
|
|
dma_free_coherent(&adapter->pdev->dev, rsp_size, rsp_addr,
|
|
rsp_phys_addr);
|
|
rsp_phys_addr);
|
|
-
|
|
|
|
out_free_rq:
|
|
out_free_rq:
|
|
dma_free_coherent(&adapter->pdev->dev, rq_size, rq_addr, rq_phys_addr);
|
|
dma_free_coherent(&adapter->pdev->dev, rq_size, rq_addr, rq_phys_addr);
|
|
- qlcnic_free_mbx_args(&cmd);
|
|
|
|
|
|
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
@@ -488,8 +504,11 @@ void qlcnic_82xx_fw_cmd_del_tx_ctx(struct qlcnic_adapter *adapter,
|
|
struct qlcnic_host_tx_ring *tx_ring)
|
|
struct qlcnic_host_tx_ring *tx_ring)
|
|
{
|
|
{
|
|
struct qlcnic_cmd_args cmd;
|
|
struct qlcnic_cmd_args cmd;
|
|
|
|
+ int ret;
|
|
|
|
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_DESTROY_TX_CTX);
|
|
|
|
|
|
+ ret = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_DESTROY_TX_CTX);
|
|
|
|
+ if (ret)
|
|
|
|
+ return;
|
|
|
|
|
|
cmd.req.arg[1] = tx_ring->ctx_id;
|
|
cmd.req.arg[1] = tx_ring->ctx_id;
|
|
if (qlcnic_issue_cmd(adapter, &cmd))
|
|
if (qlcnic_issue_cmd(adapter, &cmd))
|
|
@@ -504,7 +523,10 @@ qlcnic_fw_cmd_set_port(struct qlcnic_adapter *adapter, u32 config)
|
|
int err;
|
|
int err;
|
|
struct qlcnic_cmd_args cmd;
|
|
struct qlcnic_cmd_args cmd;
|
|
|
|
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CONFIG_PORT);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CONFIG_PORT);
|
|
|
|
+ if (err)
|
|
|
|
+ return err;
|
|
|
|
+
|
|
cmd.req.arg[1] = config;
|
|
cmd.req.arg[1] = config;
|
|
err = qlcnic_issue_cmd(adapter, &cmd);
|
|
err = qlcnic_issue_cmd(adapter, &cmd);
|
|
qlcnic_free_mbx_args(&cmd);
|
|
qlcnic_free_mbx_args(&cmd);
|
|
@@ -708,7 +730,10 @@ int qlcnic_82xx_get_mac_address(struct qlcnic_adapter *adapter, u8 *mac)
|
|
struct qlcnic_cmd_args cmd;
|
|
struct qlcnic_cmd_args cmd;
|
|
u32 mac_low, mac_high;
|
|
u32 mac_low, mac_high;
|
|
|
|
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_MAC_ADDRESS);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_MAC_ADDRESS);
|
|
|
|
+ if (err)
|
|
|
|
+ return err;
|
|
|
|
+
|
|
cmd.req.arg[1] = adapter->ahw->pci_func | BIT_8;
|
|
cmd.req.arg[1] = adapter->ahw->pci_func | BIT_8;
|
|
err = qlcnic_issue_cmd(adapter, &cmd);
|
|
err = qlcnic_issue_cmd(adapter, &cmd);
|
|
|
|
|
|
@@ -747,7 +772,10 @@ int qlcnic_82xx_get_nic_info(struct qlcnic_adapter *adapter,
|
|
|
|
|
|
nic_info = nic_info_addr;
|
|
nic_info = nic_info_addr;
|
|
|
|
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_NIC_INFO);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_NIC_INFO);
|
|
|
|
+ if (err)
|
|
|
|
+ goto out_free_dma;
|
|
|
|
+
|
|
cmd.req.arg[1] = MSD(nic_dma_t);
|
|
cmd.req.arg[1] = MSD(nic_dma_t);
|
|
cmd.req.arg[2] = LSD(nic_dma_t);
|
|
cmd.req.arg[2] = LSD(nic_dma_t);
|
|
cmd.req.arg[3] = (func_id << 16 | nic_size);
|
|
cmd.req.arg[3] = (func_id << 16 | nic_size);
|
|
@@ -769,9 +797,10 @@ int qlcnic_82xx_get_nic_info(struct qlcnic_adapter *adapter,
|
|
npar_info->max_mtu = le16_to_cpu(nic_info->max_mtu);
|
|
npar_info->max_mtu = le16_to_cpu(nic_info->max_mtu);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ qlcnic_free_mbx_args(&cmd);
|
|
|
|
+out_free_dma:
|
|
dma_free_coherent(&adapter->pdev->dev, nic_size, nic_info_addr,
|
|
dma_free_coherent(&adapter->pdev->dev, nic_size, nic_info_addr,
|
|
nic_dma_t);
|
|
nic_dma_t);
|
|
- qlcnic_free_mbx_args(&cmd);
|
|
|
|
|
|
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
@@ -808,7 +837,10 @@ int qlcnic_82xx_set_nic_info(struct qlcnic_adapter *adapter,
|
|
nic_info->min_tx_bw = cpu_to_le16(nic->min_tx_bw);
|
|
nic_info->min_tx_bw = cpu_to_le16(nic->min_tx_bw);
|
|
nic_info->max_tx_bw = cpu_to_le16(nic->max_tx_bw);
|
|
nic_info->max_tx_bw = cpu_to_le16(nic->max_tx_bw);
|
|
|
|
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_NIC_INFO);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_NIC_INFO);
|
|
|
|
+ if (err)
|
|
|
|
+ goto out_free_dma;
|
|
|
|
+
|
|
cmd.req.arg[1] = MSD(nic_dma_t);
|
|
cmd.req.arg[1] = MSD(nic_dma_t);
|
|
cmd.req.arg[2] = LSD(nic_dma_t);
|
|
cmd.req.arg[2] = LSD(nic_dma_t);
|
|
cmd.req.arg[3] = ((nic->pci_func << 16) | nic_size);
|
|
cmd.req.arg[3] = ((nic->pci_func << 16) | nic_size);
|
|
@@ -820,9 +852,10 @@ int qlcnic_82xx_set_nic_info(struct qlcnic_adapter *adapter,
|
|
err = -EIO;
|
|
err = -EIO;
|
|
}
|
|
}
|
|
|
|
|
|
- dma_free_coherent(&adapter->pdev->dev, nic_size, nic_info_addr,
|
|
|
|
- nic_dma_t);
|
|
|
|
qlcnic_free_mbx_args(&cmd);
|
|
qlcnic_free_mbx_args(&cmd);
|
|
|
|
+out_free_dma:
|
|
|
|
+ dma_free_coherent(&adapter->pdev->dev, nic_size, nic_info_addr,
|
|
|
|
+ nic_dma_t);
|
|
|
|
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
@@ -846,7 +879,10 @@ int qlcnic_82xx_get_pci_info(struct qlcnic_adapter *adapter,
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|
|
npar = pci_info_addr;
|
|
npar = pci_info_addr;
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_PCI_INFO);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_PCI_INFO);
|
|
|
|
+ if (err)
|
|
|
|
+ goto out_free_dma;
|
|
|
|
+
|
|
cmd.req.arg[1] = MSD(pci_info_dma_t);
|
|
cmd.req.arg[1] = MSD(pci_info_dma_t);
|
|
cmd.req.arg[2] = LSD(pci_info_dma_t);
|
|
cmd.req.arg[2] = LSD(pci_info_dma_t);
|
|
cmd.req.arg[3] = pci_size;
|
|
cmd.req.arg[3] = pci_size;
|
|
@@ -874,9 +910,10 @@ int qlcnic_82xx_get_pci_info(struct qlcnic_adapter *adapter,
|
|
err = -EIO;
|
|
err = -EIO;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ qlcnic_free_mbx_args(&cmd);
|
|
|
|
+out_free_dma:
|
|
dma_free_coherent(&adapter->pdev->dev, pci_size, pci_info_addr,
|
|
dma_free_coherent(&adapter->pdev->dev, pci_size, pci_info_addr,
|
|
pci_info_dma_t);
|
|
pci_info_dma_t);
|
|
- qlcnic_free_mbx_args(&cmd);
|
|
|
|
|
|
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
@@ -897,7 +934,11 @@ int qlcnic_config_port_mirroring(struct qlcnic_adapter *adapter, u8 id,
|
|
arg1 = id | (enable_mirroring ? BIT_4 : 0);
|
|
arg1 = id | (enable_mirroring ? BIT_4 : 0);
|
|
arg1 |= pci_func << 8;
|
|
arg1 |= pci_func << 8;
|
|
|
|
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_SET_PORTMIRRORING);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter,
|
|
|
|
+ QLCNIC_CMD_SET_PORTMIRRORING);
|
|
|
|
+ if (err)
|
|
|
|
+ return err;
|
|
|
|
+
|
|
cmd.req.arg[1] = arg1;
|
|
cmd.req.arg[1] = arg1;
|
|
err = qlcnic_issue_cmd(adapter, &cmd);
|
|
err = qlcnic_issue_cmd(adapter, &cmd);
|
|
|
|
|
|
@@ -941,7 +982,11 @@ int qlcnic_get_port_stats(struct qlcnic_adapter *adapter, const u8 func,
|
|
arg1 = func | QLCNIC_STATS_VERSION << 8 | QLCNIC_STATS_PORT << 12;
|
|
arg1 = func | QLCNIC_STATS_VERSION << 8 | QLCNIC_STATS_PORT << 12;
|
|
arg1 |= rx_tx << 15 | stats_size << 16;
|
|
arg1 |= rx_tx << 15 | stats_size << 16;
|
|
|
|
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_ESWITCH_STATS);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter,
|
|
|
|
+ QLCNIC_CMD_GET_ESWITCH_STATS);
|
|
|
|
+ if (err)
|
|
|
|
+ goto out_free_dma;
|
|
|
|
+
|
|
cmd.req.arg[1] = arg1;
|
|
cmd.req.arg[1] = arg1;
|
|
cmd.req.arg[2] = MSD(stats_dma_t);
|
|
cmd.req.arg[2] = MSD(stats_dma_t);
|
|
cmd.req.arg[3] = LSD(stats_dma_t);
|
|
cmd.req.arg[3] = LSD(stats_dma_t);
|
|
@@ -963,9 +1008,10 @@ int qlcnic_get_port_stats(struct qlcnic_adapter *adapter, const u8 func,
|
|
esw_stats->numbytes = le64_to_cpu(stats->numbytes);
|
|
esw_stats->numbytes = le64_to_cpu(stats->numbytes);
|
|
}
|
|
}
|
|
|
|
|
|
- dma_free_coherent(&adapter->pdev->dev, stats_size, stats_addr,
|
|
|
|
- stats_dma_t);
|
|
|
|
qlcnic_free_mbx_args(&cmd);
|
|
qlcnic_free_mbx_args(&cmd);
|
|
|
|
+out_free_dma:
|
|
|
|
+ dma_free_coherent(&adapter->pdev->dev, stats_size, stats_addr,
|
|
|
|
+ stats_dma_t);
|
|
|
|
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
@@ -989,7 +1035,10 @@ int qlcnic_get_mac_stats(struct qlcnic_adapter *adapter,
|
|
if (!stats_addr)
|
|
if (!stats_addr)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_MAC_STATS);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_MAC_STATS);
|
|
|
|
+ if (err)
|
|
|
|
+ goto out_free_dma;
|
|
|
|
+
|
|
cmd.req.arg[1] = stats_size << 16;
|
|
cmd.req.arg[1] = stats_size << 16;
|
|
cmd.req.arg[2] = MSD(stats_dma_t);
|
|
cmd.req.arg[2] = MSD(stats_dma_t);
|
|
cmd.req.arg[3] = LSD(stats_dma_t);
|
|
cmd.req.arg[3] = LSD(stats_dma_t);
|
|
@@ -1020,11 +1069,12 @@ int qlcnic_get_mac_stats(struct qlcnic_adapter *adapter,
|
|
"%s: Get mac stats failed, err=%d.\n", __func__, err);
|
|
"%s: Get mac stats failed, err=%d.\n", __func__, err);
|
|
}
|
|
}
|
|
|
|
|
|
- dma_free_coherent(&adapter->pdev->dev, stats_size, stats_addr,
|
|
|
|
- stats_dma_t);
|
|
|
|
-
|
|
|
|
qlcnic_free_mbx_args(&cmd);
|
|
qlcnic_free_mbx_args(&cmd);
|
|
|
|
|
|
|
|
+out_free_dma:
|
|
|
|
+ dma_free_coherent(&adapter->pdev->dev, stats_size, stats_addr,
|
|
|
|
+ stats_dma_t);
|
|
|
|
+
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1108,7 +1158,11 @@ int qlcnic_clear_esw_stats(struct qlcnic_adapter *adapter, const u8 func_esw,
|
|
arg1 = port | QLCNIC_STATS_VERSION << 8 | func_esw << 12;
|
|
arg1 = port | QLCNIC_STATS_VERSION << 8 | func_esw << 12;
|
|
arg1 |= BIT_14 | rx_tx << 15;
|
|
arg1 |= BIT_14 | rx_tx << 15;
|
|
|
|
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_GET_ESWITCH_STATS);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter,
|
|
|
|
+ QLCNIC_CMD_GET_ESWITCH_STATS);
|
|
|
|
+ if (err)
|
|
|
|
+ return err;
|
|
|
|
+
|
|
cmd.req.arg[1] = arg1;
|
|
cmd.req.arg[1] = arg1;
|
|
err = qlcnic_issue_cmd(adapter, &cmd);
|
|
err = qlcnic_issue_cmd(adapter, &cmd);
|
|
qlcnic_free_mbx_args(&cmd);
|
|
qlcnic_free_mbx_args(&cmd);
|
|
@@ -1127,10 +1181,13 @@ static int __qlcnic_get_eswitch_port_config(struct qlcnic_adapter *adapter,
|
|
struct device *dev = &adapter->pdev->dev;
|
|
struct device *dev = &adapter->pdev->dev;
|
|
struct qlcnic_cmd_args cmd;
|
|
struct qlcnic_cmd_args cmd;
|
|
u8 pci_func = *arg1 >> 8;
|
|
u8 pci_func = *arg1 >> 8;
|
|
- int err = -EIO;
|
|
|
|
|
|
+ int err;
|
|
|
|
+
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter,
|
|
|
|
+ QLCNIC_CMD_GET_ESWITCH_PORT_CONFIG);
|
|
|
|
+ if (err)
|
|
|
|
+ return err;
|
|
|
|
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter,
|
|
|
|
- QLCNIC_CMD_GET_ESWITCH_PORT_CONFIG);
|
|
|
|
cmd.req.arg[1] = *arg1;
|
|
cmd.req.arg[1] = *arg1;
|
|
err = qlcnic_issue_cmd(adapter, &cmd);
|
|
err = qlcnic_issue_cmd(adapter, &cmd);
|
|
*arg1 = cmd.rsp.arg[1];
|
|
*arg1 = cmd.rsp.arg[1];
|
|
@@ -1208,7 +1265,11 @@ int qlcnic_config_switch_port(struct qlcnic_adapter *adapter,
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
|
|
|
|
- qlcnic_alloc_mbx_args(&cmd, adapter, QLCNIC_CMD_CONFIGURE_ESWITCH);
|
|
|
|
|
|
+ err = qlcnic_alloc_mbx_args(&cmd, adapter,
|
|
|
|
+ QLCNIC_CMD_CONFIGURE_ESWITCH);
|
|
|
|
+ if (err)
|
|
|
|
+ return err;
|
|
|
|
+
|
|
cmd.req.arg[1] = arg1;
|
|
cmd.req.arg[1] = arg1;
|
|
cmd.req.arg[2] = arg2;
|
|
cmd.req.arg[2] = arg2;
|
|
err = qlcnic_issue_cmd(adapter, &cmd);
|
|
err = qlcnic_issue_cmd(adapter, &cmd);
|