Hello,

I'm not sure if the fault is hostapd or the wireless stack (or something else),
but this is what I see:

I put an AP on channel 100, configured for RRM.

STA associates to it and sends a channel report request.

hostapd reports tx of the response frame failed with EBUSY (-16).

Debugging in the kernel (4.20.8+ hacks) shows it fails because
of the offchannel check.  This appears to be because hostapd marks
the frame as off-channel-OK, and nl80211 fails because of the
CAC logic (I think):

static bool cfg80211_off_channel_oper_allowed(struct wireless_dev *wdev)
{
        ASSERT_WDEV_LOCK(wdev);

        if (!cfg80211_beaconing_iface_active(wdev))
                return true;

        if (!(wdev->chandef.chan->flags & IEEE80211_CHAN_RADAR))
                return true;

        return regulatory_pre_cac_allowed(wdev->wiphy);
}

In this case, the packet is not actually off-channel, and CAC has already
completed successfully.

Any opinions on where to fix this?

Thanks,
Ben

--
Ben Greear <gree...@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

Reply via email to