[PATCH] wcn36xx: Add hardware scan offload support

Loic Poulain loic.poulain at linaro.org
Mon Dec 11 00:57:45 PST 2017


Hi Bjorn,

On 9 December 2017 at 01:34, Bjorn Andersson <bjorn.andersson at linaro.org> wrote:
>
>> diff --git a/drivers/net/wireless/ath/wcn36xx/smd.c b/drivers/net/wireless/ath/wcn36xx/smd.c
> [..]
>> +static int wcn36xx_smd_hw_scan_ind(struct wcn36xx *wcn, void *buf, size_t len)
>> +{
>> +     struct wcn36xx_hal_scan_offload_ind *rsp = buf;
>> +     struct cfg80211_scan_info scan_info = {};
>> +
>> +     if (len != sizeof(*rsp)) {
>> +             wcn36xx_warn("Corrupted delete scan indication\n");
>> +             return -EIO;
>> +     }
>> +
>> +     wcn36xx_dbg(WCN36XX_DBG_HAL, "scan indication (type %x)", rsp->type);
>> +
>> +     switch (rsp->type) {
>> +     case WCN36XX_HAL_SCAN_IND_FAILED:
>> +             scan_info.aborted = true;
>> +     case WCN36XX_HAL_SCAN_IND_COMPLETED:
>> +             mutex_lock(&wcn->scan_lock);
>
> Grabbing this mutex with DEBUG_ATOMIC_SLEEP causes issues, but that's
> because the locking in ind_smd_work() is to excessive. Will reply with a
> fix for this.

Oops you're right, thanks for the patch.

Regards,
Loic



More information about the wcn36xx mailing list