Re: [PATCH v3] wifi: ath11k: move .max_tx_ring to struct ath11k_hw_hal_params
Jeff Johnson <[email protected]>
| Newsgroups | org.infradead.lists.ath11k,org.kernel.vger.linux-kernel,org.kernel.vger.linux-wireless |
|---|---|
| Message-ID | <[email protected]> |
On 1/14/2026 1:29 PM, Alex G. wrote: > On Wednesday, January 14, 2026 11:24:19 AM CST Jeff Johnson wrote: >> On 1/12/2026 11:00 PM, Vasanthakumar Thiagarajan wrote: >>> On 12/28/2025 8:44 PM, Alexandru Gagniuc wrote: >>>> ".max_tx_ring" is an upper bounds to indexing ".tcl2wbm_rbm_map". It >>>> is initialized in, core.c, a different file than the array. This >>>> spaghetti-like relation is fragile and not obvious. Accidentally >>>> setting ".max_tx_ring" too high leads to a hard to track out-of- >>>> bounds access and memory corruption. >>>> >>>> There is a small ambiguity on the meaning of "max_tx_ring": >>>> - The highest ring, max=3 implies there are 4 rings (0, 1, 2, 3) >>>> - The highest number to use for array indexing (there are 3 rings) >>>> >>>> Clarify this dependency by moving ".max_tx_ring" adjacent to the array >>>> ".tcl2wbm_rbm_map", and name it "num_tx_rings". Use ARRAY_SIZE() >>>> instead of #defines to initialize the length field. >>>> >>>> The ath11k_hw_hal_params_qca6390 uses fewer num_tx_rings than its map, >>>> so use a constant to express the correct value. Add a static_assert() >>>> to fail compilation if the constant is accidentally set too high. >>> >>> Text related to static_assert to be removed accordingly. >> > Hi Jeff, > >> I removed the last sentence in 'pending', please check: >> >> https://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git/commit/?h=pendin >> g&id=26bb149b5e011b0f73f7b74421589cbd38e3304b > > Re-reading the commit message, I think it makes sense to also remove the > sentence "The ath11k_hw_hal_params_qca6390 uses fewer num_tx_rings than its > map, so use a constant to express the correct value.". Do you think it's worth > submitting a v4 with this minor change? > > Alex No need to submit a v4. I can make that change in 'pending' /jeff