[source] acx-mac80211: fix scan API error that could lead to a crash

LEDE Commits lede-commits at lists.infradead.org
Fri Feb 3 03:37:56 PST 2017


nbd pushed a commit to source.git, branch master:
https://git.lede-project.org/eccb2e5e59f01dcd5a70c390e934f11b62e7dce8

commit eccb2e5e59f01dcd5a70c390e934f11b62e7dce8
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Fri Jan 27 11:11:00 2017 +0100

    acx-mac80211: fix scan API error that could lead to a crash
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 .../kernel/acx-mac80211/patches/300-api_sync.patch | 29 ++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/package/kernel/acx-mac80211/patches/300-api_sync.patch b/package/kernel/acx-mac80211/patches/300-api_sync.patch
index 94d6135..d055271 100644
--- a/package/kernel/acx-mac80211/patches/300-api_sync.patch
+++ b/package/kernel/acx-mac80211/patches/300-api_sync.patch
@@ -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);
+ 	}



More information about the lede-commits mailing list