acx-mac80211: fix scan API error that could lead to a crash
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
50efd403e6
commit
eccb2e5e59
1 changed files with 29 additions and 0 deletions
|
@ -81,3 +81,32 @@
|
|||
|
||||
adev->channel = channel;
|
||||
|
||||
--- a/merge.c
|
||||
+++ b/merge.c
|
||||
@@ -2776,7 +2776,10 @@ void acx_irq_work(struct work_struct *wo
|
||||
/* HOST_INT_SCAN_COMPLETE */
|
||||
if (irqmasked & HOST_INT_SCAN_COMPLETE) {
|
||||
if (test_bit(ACX_FLAG_SCANNING, &adev->flags)) {
|
||||
- ieee80211_scan_completed(adev->hw, false);
|
||||
+ struct cfg80211_scan_info info = {
|
||||
+ .aborted = false
|
||||
+ };
|
||||
+ ieee80211_scan_completed(adev->hw, &info);
|
||||
log(L_INIT, "scan completed\n");
|
||||
clear_bit(ACX_FLAG_SCANNING, &adev->flags);
|
||||
}
|
||||
@@ -3138,10 +3141,13 @@ int acx_op_start(struct ieee80211_hw *hw
|
||||
|
||||
void acx_stop(acx_device_t *adev)
|
||||
{
|
||||
+ struct cfg80211_scan_info info = {
|
||||
+ .aborted = true
|
||||
+ };
|
||||
acxmem_lock_flags;
|
||||
|
||||
if (test_bit(ACX_FLAG_SCANNING, &adev->flags)) {
|
||||
- ieee80211_scan_completed(adev->hw, true);
|
||||
+ ieee80211_scan_completed(adev->hw, &info);
|
||||
acx_issue_cmd(adev, ACX1xx_CMD_STOP_SCAN, NULL, 0);
|
||||
clear_bit(ACX_FLAG_SCANNING, &adev->flags);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue