OSDN Git Service

iwlwifi: pcie: fix command completion name debug
authorJohannes Berg <johannes.berg@intel.com>
Wed, 3 May 2017 10:16:48 +0000 (12:16 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Fri, 23 Jun 2017 08:58:32 +0000 (11:58 +0300)
When the command name is printed on command completion, the wrong
group is used, leading to the wrong name being printed. Fix this
by using the group ID without inappropriately mangling it through
iwl_cmd_groupid() - it's already a u8. Also, while at it, use it
from the same place as the command ID, everything else is just
confusing.

Fixes: ab02165ccec4 ("iwlwifi: add wide firmware command infrastructure for TX")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/pcie/tx.c

index be38dd3..6b19ccc 100644 (file)
@@ -1706,7 +1706,7 @@ void iwl_pcie_hcmd_complete(struct iwl_trans *trans,
 {
        struct iwl_rx_packet *pkt = rxb_addr(rxb);
        u16 sequence = le16_to_cpu(pkt->hdr.sequence);
-       u8 group_id = iwl_cmd_groupid(pkt->hdr.group_id);
+       u8 group_id;
        u32 cmd_id;
        int txq_id = SEQ_TO_QUEUE(sequence);
        int index = SEQ_TO_INDEX(sequence);
@@ -1732,6 +1732,7 @@ void iwl_pcie_hcmd_complete(struct iwl_trans *trans,
        cmd_index = get_cmd_index(txq, index);
        cmd = txq->entries[cmd_index].cmd;
        meta = &txq->entries[cmd_index].meta;
+       group_id = cmd->hdr.group_id;
        cmd_id = iwl_cmd_id(cmd->hdr.cmd, group_id, 0);
 
        iwl_pcie_tfd_unmap(trans, meta, txq, index);