diff options
author | Ajit Khaparde <ajit.khaparde@emulex.com> | 2011-04-19 08:11:02 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-04-19 23:13:10 -0400 |
commit | 6349935bdfa4a210fb557e7541caad1d41925ccc (patch) | |
tree | dde28ee903ffe89d4a6dcb050507ee82d2e6faa8 /drivers/net/benet | |
parent | 4fa9ed07e3965a809fa309a769675ac1c6dc692b (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.c | 4 |
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); |