Yes,the OEM project we are working on is based on a qualcomm chip
qcs410, in this BSP, we integrate an out-of-tree WiFi driver for WCN3980
(https://git.codelinaro.org/clo/la/platform/vendor/qcom-
opensource/wlan/qcacld-3.0), this driver is also used in the qualcomm
Android kernel, this driver has more features than linux in-tree
drivers. And in qcacld-3.0 driver, there are many wiphy features are set
netlink attribute NESTED flag (please see the log below), so with the
kernel 5.2 and later version, the validate_nla() will check if the
netlink message set the NLA_F_NESTED or not, if not set, the validation
will fail for qcacld-3.0 driver.

And this change is safe for in-tree drivers, since these drivers don't
have netlink attribute NESTED flag, the validate_nla() will not be
impacted even we set NLA_F_NESTED to the netlink messages.

wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:       [PARAM_SSID_LIST] = { 
.type = NLA_NESTED },
wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:       [PARAM_BSSID_PREFS] = { 
.type = NLA_NESTED },
wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:       [PARAM_BSSID_PARAMS] = 
{.type = NLA_NESTED},
wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:       
[PARAM_ROAM_CONTROL_CONFIG] = {.type = NLA_NESTED},
wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:       [PARAM_SCAN_FREQ_LIST] 
= {.type = NLA_NESTED},
wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:       
[PARAM_FREQ_LIST_SCHEME] = {.type = NLA_NESTED},
wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:       
[QCA_ATTR_ROAM_CONTROL_SELECTION_CRITERIA] = {.type = NLA_NESTED},
wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:                       .type = 
NLA_NESTED},
wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:                       .type = 
NLA_NESTED},
wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:                       .type = 
NLA_NESTED},
wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:                       .type = 
NLA_NESTED},
wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:       [SET_CHAN_CHAN_LIST] = 
{.type = NLA_NESTED},
wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:       [SET_CHAN_FREQ_LIST] = 
{.type = NLA_NESTED},
wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:       
[STATS_SET_DATA_PKT_INFO] = {.type = NLA_NESTED },
wlan/qcacld-3.0/core/hdd/src/wlan_hdd_cfg80211.c:       
VENDOR_NLA_POLICY_NESTED(qca_wlan_vendor_set_trace_level_policy),

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to libnl3 in Ubuntu.
https://bugs.launchpad.net/bugs/1998765

Title:
  libnl3 3.4.0 doesn't work with WCN3980

Status in OEM Priority Project:
  New
Status in libnl3 package in Ubuntu:
  New

Bug description:
  When testing WCN3980 with 20.04 and UC20, WCN3980 is not able connect
  to an AP.

  I tried a different libnl3 from BSP and found that WCN3980 can work
  correctly. The version used in BSP is 3.5.0.

  I bisected the commits from 3.4.0 to 3.5.0 and found this commit[1] is the 
root cause.
  According to the commit, it seems that the flag should be set for kernel 
later than 5.2.

  
  [1] 
https://github.com/thom311/libnl/commit/7de65a051fb37ece16f896a7385073274b77a133

To manage notifications about this bug go to:
https://bugs.launchpad.net/oem-priority/+bug/1998765/+subscriptions


-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to