lkml.org 
[lkml]   [2021]   [Nov]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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]
    \
     
     \ /
      Last update: 2021-11-16 13:02    [W:2.375 / U:1.244 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site