qcacld-3.0: Return vendor abort status to userspace

Host completes scan, however due to memory allocation
failure, driver cannot send the scan completed event to
the userspace. After timeout, supplicant sends vendor
scan abort to the driver. However, driver doesn't send
the failure status(because driver doesn't have any active
scan to abort). Since, the status code is sent as 0,
supplicant keeps waiting for the scan completed status
event from host.

Send the vendor abort failure reason to the userspace, so that
the supplicant can clear out scan-in-progress flag.

Change-Id: I771b7d3d76c7d7aea58ac3d02665bd43da00e222
CRs-Fixed: 3707469
This commit is contained in:
Surya Prakash Sivaraj 2024-03-04 17:25:58 +05:30 • committed by Ravindra Konda
commit ecb72b8f9b

View file

@ -1,6 +1,6 @@
/*
* Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022,2024 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@ -1226,9 +1226,8 @@ static int __wlan_hdd_vendor_abort_scan(
if (0 != ret)
return ret;
wlan_vendor_abort_scan(hdd_ctx->pdev, data, data_len);
return wlan_vendor_abort_scan(hdd_ctx->pdev, data, data_len);
return ret;
}
/**
@ -1249,6 +1248,8 @@ int wlan_hdd_vendor_abort_scan(struct wiphy *wiphy, struct wireless_dev *wdev,
struct osif_vdev_sync *vdev_sync;
int errno;
hdd_enter_dev(wdev->netdev);
errno = osif_vdev_sync_op_start(wdev->netdev, &vdev_sync);
if (errno)
return errno;