Messages in this thread | | | Date | Tue, 16 Nov 2021 12:59:12 +0100 | From | Pavel Machek <> | Subject | Re: [PATCH 5.10 187/575] ath10k: high latency fixes for beacon buffer |
| |
Hi!
> From: Alagu Sankar <alagusankar@silex-india.com> > > [ Upstream commit e263bdab9c0e8025fb7f41f153709a9cda51f6b6 ] > > Beacon buffer for high latency devices does not use DMA. other similar > buffer allocation methods in the driver have already been modified for > high latency path. Fix the beacon buffer allocation left out in the > earlier high latency changes.
There's GFP_KERNEL vs. GFP_ATOMIC confusion here:
> @@ -5466,10 +5470,17 @@ static int ath10k_add_interface(struct ieee80211_hw *hw, > if (vif->type == NL80211_IFTYPE_ADHOC || > vif->type == NL80211_IFTYPE_MESH_POINT || > vif->type == NL80211_IFTYPE_AP) { > - arvif->beacon_buf = dma_alloc_coherent(ar->dev, > - IEEE80211_MAX_FRAME_LEN, > - &arvif->beacon_paddr, > - GFP_ATOMIC); > + if (ar->bus_param.dev_type == ATH10K_DEV_TYPE_HL) { > + arvif->beacon_buf = kmalloc(IEEE80211_MAX_FRAME_LEN, > + GFP_KERNEL); > + arvif->beacon_paddr = (dma_addr_t)arvif->beacon_buf; > + } else { > + arvif->beacon_buf = > + dma_alloc_coherent(ar->dev, > + IEEE80211_MAX_FRAME_LEN, > + &arvif->beacon_paddr, > + GFP_ATOMIC); > + } > if (!arvif->beacon_buf) { > ret = -ENOMEM; > ath10k_warn(ar, "failed to allocate beacon > buffer: %d\n",
I'd expect both allocations to use same GFP_ flags.
Best regards, Pavel -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany [unhandled content-type:application/pgp-signature] | |