iwlwifi: pcie: make sure packet arrived to destined queue

Add a warning in case packet didn't end up in the HW
destined queue.

Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
Sara Sharon 2016-04-21 20:15:40 +03:00 committed by Luca Coelho
parent 630443355a
commit ab2e696bd2
2 changed files with 10 additions and 1 deletions

View File

@ -212,6 +212,8 @@ struct iwl_cmd_header_wide {
#define FH_RSCSR_FRAME_INVALID 0x55550000 #define FH_RSCSR_FRAME_INVALID 0x55550000
#define FH_RSCSR_FRAME_ALIGN 0x40 #define FH_RSCSR_FRAME_ALIGN 0x40
#define FH_RSCSR_RPA_EN BIT(25) #define FH_RSCSR_RPA_EN BIT(25)
#define FH_RSCSR_RXQ_POS 16
#define FH_RSCSR_RXQ_MASK 0x3F0000
struct iwl_rx_packet { struct iwl_rx_packet {
/* /*
@ -223,7 +225,11 @@ struct iwl_rx_packet {
* 29: flag fast IRQ request * 29: flag fast IRQ request
* 28-26: Reserved * 28-26: Reserved
* 25: Offload enabled * 25: Offload enabled
* 24-14: Reserved * 24: RPF enabled
* 23: RSS enabled
* 22: Checksum enabled
* 21-16: RX queue
* 15-14: Reserved
* 13-00: RX frame size * 13-00: RX frame size
*/ */
__le32 len_n_flags; __le32 len_n_flags;

View File

@ -1104,6 +1104,9 @@ static void iwl_pcie_rx_handle_rb(struct iwl_trans *trans,
if (pkt->len_n_flags == cpu_to_le32(FH_RSCSR_FRAME_INVALID)) if (pkt->len_n_flags == cpu_to_le32(FH_RSCSR_FRAME_INVALID))
break; break;
WARN_ON((le32_to_cpu(pkt->len_n_flags) & FH_RSCSR_RXQ_MASK) >>
FH_RSCSR_RXQ_POS != rxq->id);
IWL_DEBUG_RX(trans, IWL_DEBUG_RX(trans,
"cmd at offset %d: %s (0x%.2x, seq 0x%x)\n", "cmd at offset %d: %s (0x%.2x, seq 0x%x)\n",
rxcb._offset, rxcb._offset,