aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/benet
diff options
context:
space:
mode:
authorAjit Khaparde <ajit.khaparde@emulex.com>2011-04-19 08:11:02 -0400
committerDavid S. Miller <davem@davemloft.net>2011-04-19 23:13:10 -0400
commit6349935bdfa4a210fb557e7541caad1d41925ccc (patch)
treedde28ee903ffe89d4a6dcb050507ee82d2e6faa8 /drivers/net/benet
parent4fa9ed07e3965a809fa309a769675ac1c6dc692b (diff)
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: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/benet')
-rw-r--r--drivers/net/benet/be_cmds.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/benet/be_cmds.c b/drivers/net/benet/be_cmds.c
index 11b774a5eaff..a94e98060c93 100644
--- a/drivers/net/benet/be_cmds.c
+++ b/drivers/net/benet/be_cmds.c
@@ -78,7 +78,8 @@ static int be_mcc_compl_process(struct be_adapter *adapter,
78 } 78 }
79 79
80 if (compl_status == MCC_STATUS_SUCCESS) { 80 if (compl_status == MCC_STATUS_SUCCESS) {
81 if (compl->tag0 == OPCODE_ETH_GET_STATISTICS) { 81 if ((compl->tag0 == OPCODE_ETH_GET_STATISTICS) &&
82 (compl->tag1 == CMD_SUBSYSTEM_ETH)) {
82 struct be_cmd_resp_get_stats *resp = 83 struct be_cmd_resp_get_stats *resp =
83 adapter->stats_cmd.va; 84 adapter->stats_cmd.va;
84 be_dws_le_to_cpu(&resp->hw_stats, 85 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 1097
1097 be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_ETH, 1098 be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_ETH,
1098 OPCODE_ETH_GET_STATISTICS, sizeof(*req)); 1099 OPCODE_ETH_GET_STATISTICS, sizeof(*req));
1100 wrb->tag1 = CMD_SUBSYSTEM_ETH;
1099 sge->pa_hi = cpu_to_le32(upper_32_bits(nonemb_cmd->dma)); 1101 sge->pa_hi = cpu_to_le32(upper_32_bits(nonemb_cmd->dma));
1100 sge->pa_lo = cpu_to_le32(nonemb_cmd->dma & 0xFFFFFFFF); 1102 sge->pa_lo = cpu_to_le32(nonemb_cmd->dma & 0xFFFFFFFF);
1101 sge->len = cpu_to_le32(nonemb_cmd->size); 1103 sge->len = cpu_to_le32(nonemb_cmd->size);