• Johannes Berg's avatar
    iwlwifi: fix hardware queue programming · 5ef4acd5
    Johannes Berg authored
    Newer devices have 20 (5000 series) or 30 (6000 series)
    hardware queues, rather than the 16 that 4965 had. This
    was added to the driver a long time ago, but improperly:
    the queue registers for the higher queues aren't just
    continuations of the registers for the first 16 queues,
    they are in other places. Therefore, the hardware would
    lock up when trying to activate queue 16 or above and
    the device would have to be restarted.
    
    Thanks goes to Emmanuel who identified this and told me
    how the queue programming should be done.
    
    Note that we don't use queues 20 and higher today and
    doing so needs more work than this.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    5ef4acd5
iwl-fh.h 21.3 KB