Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

wifi: iwlegacy: Fix GFP flags in allocation loop

Do not latch these flags, they should be re-evaluated for each
iteration of the loop.

Concretely, rxq->free_count is incremented during the loop so the
__GFP_NOWARN decision may be stale. There may be other reasons to
require the re-evaluation too.

Suggested-by: Stanislaw Gruszka <stf_xl@wp.pl>
Link: https://lore.kernel.org/all/20260327115739.GB16800@wp.pl/
Signed-off-by: Brendan Jackman <jackmanb@google.com>
Acked-by: Stanislaw Gruszka <stf_xl@wp.pl>
Link: https://patch.msgid.link/20260327-iwlegacy-gfp-fix-v1-1-b83e4db0bd66@google.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>

authored by

Brendan Jackman and committed by
Johannes Berg
1c161ca6 72b18625

+2 -1
+2 -1
drivers/net/wireless/intel/iwlegacy/3945-mac.c
··· 979 979 struct page *page; 980 980 dma_addr_t page_dma; 981 981 unsigned long flags; 982 - gfp_t gfp_mask = priority; 983 982 984 983 while (1) { 984 + gfp_t gfp_mask = priority; 985 + 985 986 spin_lock_irqsave(&rxq->lock, flags); 986 987 if (list_empty(&rxq->rx_used)) { 987 988 spin_unlock_irqrestore(&rxq->lock, flags);