• Shanyu Zhao's avatar
    iwlagn: verify flow id in compressed BA packet · b561e827
    Shanyu Zhao authored
    The flow id (scd_flow) in a compressed BA packet should match the txq_id
    of the queue from which the aggregated packets were sent. However, in
    some hardware like the 1000 series, sometimes the flow id is 0 for the
    txq_id (10 to 19). This can cause the annoying message:
    [ 2213.306191] iwlagn 0000:01:00.0: Received BA when not expected
    [ 2213.310178] iwlagn 0000:01:00.0: Read index for DMA queue txq id (0),
    index 5, is out of range [0-256] 7 7.
    
    And even worse, if agg->wait_for_ba is true when the bad BA is arriving,
    this can cause system hang due to NULL pointer dereference because the
    code is operating in a wrong tx queue!
    Signed-off-by: default avatarShanyu Zhao <shanyu.zhao@intel.com>
    Signed-off-by: default avatarPradeep Kulkarni <pradeepx.kulkarni@intel.com>
    Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
    b561e827
iwl-agn-tx.c 39 KB