]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: iwlwifi: pcie: fix write pointer move detection
authorJohannes Berg <johannes.berg@intel.com>
Sun, 31 May 2026 10:53:00 +0000 (13:53 +0300)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Wed, 3 Jun 2026 14:02:55 +0000 (17:02 +0300)
Ever since the TFD queue size is no longer limited to 256 entries,
this code has been wrong, and might erroneously not detect a move
if it was by a multiple of 256. Not a big deal, but fix it while
I see it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Link: https://patch.msgid.link/20260531135036.87ffbeab298e.I4fae41383b6756bccbed250985e0521b68a40d0c@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c

index 976a47ef6d0ee8ae9cb0472ac4a964b9af088fdd..28b276c659526a8ff2859a4baa9ab043ee996cc5 100644 (file)
@@ -2590,7 +2590,7 @@ int iwl_trans_pcie_wait_txq_empty(struct iwl_trans *trans, int txq_idx)
        struct iwl_txq *txq;
        unsigned long now = jiffies;
        bool overflow_tx;
-       u8 wr_ptr;
+       int wr_ptr;
 
        /* Make sure the NIC is still alive in the bus */
        if (test_bit(STATUS_TRANS_DEAD, &trans->status))
@@ -2613,7 +2613,7 @@ int iwl_trans_pcie_wait_txq_empty(struct iwl_trans *trans, int txq_idx)
                overflow_tx) &&
               !time_after(jiffies,
                           now + msecs_to_jiffies(IWL_FLUSH_WAIT_MS))) {
-               u8 write_ptr = READ_ONCE(txq->write_ptr);
+               int write_ptr = READ_ONCE(txq->write_ptr);
 
                /*
                 * If write pointer moved during the wait, warn only