提交 6349935b 编写于 作者: A Ajit Khaparde 提交者: David S. Miller

be2net: fix be_mcc_compl_process to identify eth_get_stat command

eth_get_statistics and vlan_config command have same opcode.
Use opcode subsystem id to differentiate one from other.
Signed-off-by: NAjit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 4fa9ed07
...@@ -78,7 +78,8 @@ static int be_mcc_compl_process(struct be_adapter *adapter, ...@@ -78,7 +78,8 @@ static int be_mcc_compl_process(struct be_adapter *adapter,
} }
if (compl_status == MCC_STATUS_SUCCESS) { if (compl_status == MCC_STATUS_SUCCESS) {
if (compl->tag0 == OPCODE_ETH_GET_STATISTICS) { if ((compl->tag0 == OPCODE_ETH_GET_STATISTICS) &&
(compl->tag1 == CMD_SUBSYSTEM_ETH)) {
struct be_cmd_resp_get_stats *resp = struct be_cmd_resp_get_stats *resp =
adapter->stats_cmd.va; adapter->stats_cmd.va;
be_dws_le_to_cpu(&resp->hw_stats, be_dws_le_to_cpu(&resp->hw_stats,
...@@ -1096,6 +1097,7 @@ int be_cmd_get_stats(struct be_adapter *adapter, struct be_dma_mem *nonemb_cmd) ...@@ -1096,6 +1097,7 @@ int be_cmd_get_stats(struct be_adapter *adapter, struct be_dma_mem *nonemb_cmd)
be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_ETH, be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_ETH,
OPCODE_ETH_GET_STATISTICS, sizeof(*req)); OPCODE_ETH_GET_STATISTICS, sizeof(*req));
wrb->tag1 = CMD_SUBSYSTEM_ETH;
sge->pa_hi = cpu_to_le32(upper_32_bits(nonemb_cmd->dma)); sge->pa_hi = cpu_to_le32(upper_32_bits(nonemb_cmd->dma));
sge->pa_lo = cpu_to_le32(nonemb_cmd->dma & 0xFFFFFFFF); sge->pa_lo = cpu_to_le32(nonemb_cmd->dma & 0xFFFFFFFF);
sge->len = cpu_to_le32(nonemb_cmd->size); sge->len = cpu_to_le32(nonemb_cmd->size);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册