Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Oct 2023 23:16:05 GMT
From:      "Bjoern A. Zeeb" <bz@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: b7e63fa4fd08 - releng/14.0 - LinuxKPI: 802.11: make sure bssid for scans (probe_req) is set
Message-ID:  <202310092316.399NG53A070828@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch releng/14.0 has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=b7e63fa4fd080106b10d37cf675f98a6674e0aaa

commit b7e63fa4fd080106b10d37cf675f98a6674e0aaa
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2023-09-14 17:48:19 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2023-10-09 23:14:51 +0000

    LinuxKPI: 802.11: make sure bssid for scans (probe_req) is set
    
    In b0f73768220e9 we added bssid[] to struct cfg80211_scan_request
    likely while working on mt76 and did not need it (yet) back then.
    iwlwifi started to use the field in Linux f1fec51cda70f (April 2023).
    Without it set firmware crashes when trying to send probe requests
    ((empty) SSID also given to hw_scan).
    For now always set the field to the wildcard BSSID.
    
    Sponsored by:   The FreeBSD Foundation
    Approved by:    re (gjb)
    
    (cherry picked from commit e1e90be05017c335862c938fd9d577e56f02af30)
    (cherry picked from commit 204fb7d8530e6c097ff0142959a3f7d55cf7e375)
---
 sys/compat/linuxkpi/common/src/linux_80211.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c
index 51d5bc2c4fc1..4b9cc598740b 100644
--- a/sys/compat/linuxkpi/common/src/linux_80211.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211.c
@@ -2728,6 +2728,7 @@ sw_scan:
 		memcpy(hw_req->req.mac_addr, xxx, IEEE80211_ADDR_LEN);
 		memset(hw_req->req.mac_addr_mask, 0xxx, IEEE80211_ADDR_LEN);
 #endif
+		eth_broadcast_addr(hw_req->req.bssid);
 
 		hw_req->req.n_channels = nchan;
 		cpp = (struct linuxkpi_ieee80211_channel **)(hw_req + 1);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202310092316.399NG53A070828>