MA-20371 Fix build errors of wifi driver after merge AOSP kernel

After merge AOSP kernel added these two patches:
BACKPORT: FROMGIT: wifi: cfg80211: do some rework towards MLO link APIs
BACKPORT: FROMLIST: cfg80211: Indicate MLO connection info in connect and roam callbacks

The patches has been merged into an upstream maintainer
tree, but has not yet been merged into Linux mainline.
More importantly, the patches changed the structure,
resulting in build errors.

Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
This commit is contained in:
Zhipeng Wang 2022-06-20 17:02:55 +08:00
parent 2365e637ab
commit 3a50175cae
6 changed files with 23 additions and 21 deletions

View file

@ -1117,7 +1117,7 @@ int woal_cfg80211_change_virtual_intf(struct wiphy *wiphy,
#endif /* WIFI_DIRECT_SUPPORT */
#if defined(STA_SUPPORT) && defined(UAP_SUPPORT)
if (priv->bss_type == MLAN_BSS_TYPE_UAP) {
woal_cfg80211_del_beacon(wiphy, dev);
woal_cfg80211_del_beacon(wiphy, dev, 0);
bss_role = MLAN_BSS_ROLE_STA;
woal_cfg80211_bss_role_cfg(priv, MLAN_ACT_SET,
&bss_role);
@ -2084,7 +2084,7 @@ done:
* @return 0 -- success, otherwise fail
*/
int woal_cfg80211_set_bitrate_mask(struct wiphy *wiphy, struct net_device *dev,
const u8 *peer,
unsigned int link_id, const u8 *peer,
const struct cfg80211_bitrate_mask *mask)
{
int ret = 0;
@ -4771,7 +4771,7 @@ void woal_cfg80211_notify_channel(moal_private *priv,
#if KERNEL_VERSION(3, 8, 0) <= CFG80211_VERSION_CODE
if (MLAN_STATUS_SUCCESS ==
woal_chandef_create(priv, &chandef, pchan_info)) {
cfg80211_ch_switch_notify(priv->netdev, &chandef);
cfg80211_ch_switch_notify(priv->netdev, &chandef, 0);
priv->channel = pchan_info->channel;
#ifdef UAP_CFG80211
moal_memcpy_ext(priv->phandle, &priv->chan, &chandef,

View file

@ -163,7 +163,7 @@ int woal_cfg80211_flush_pmksa(struct wiphy *wiphy, struct net_device *dev);
#endif
int woal_cfg80211_set_bitrate_mask(struct wiphy *wiphy, struct net_device *dev,
const u8 *peer,
unsigned int link_id, const u8 *peer,
const struct cfg80211_bitrate_mask *mask);
#if KERNEL_VERSION(2, 6, 38) <= CFG80211_VERSION_CODE
int woal_cfg80211_set_antenna(struct wiphy *wiphy, u32 tx_ant, u32 rx_ant);
@ -429,7 +429,7 @@ int woal_cfg80211_set_beacon(struct wiphy *wiphy, struct net_device *dev,
struct beacon_parameters *params);
#endif
int woal_cfg80211_del_beacon(struct wiphy *wiphy, struct net_device *dev);
int woal_cfg80211_del_beacon(struct wiphy *wiphy, struct net_device *dev, unsigned int link_id);
int woal_cfg80211_del_station(struct wiphy *wiphy, struct net_device *dev,
#if KERNEL_VERSION(3, 19, 0) <= CFG80211_VERSION_CODE
struct station_del_parameters *param);

View file

@ -965,7 +965,7 @@ static void woal_hang_work_queue(struct work_struct *work)
#ifdef STA_CFG80211
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)
if (IS_STA_CFG80211(cfg80211_wext) &&
priv->wdev->current_bss) {
priv->wdev->connected) {
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
if (priv->host_mlme)
woal_host_mlme_disconnect(
@ -5698,7 +5698,7 @@ int woal_close(struct net_device *dev)
woal_cancel_scan(priv, MOAL_IOCTL_WAIT);
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)
if (IS_STA_CFG80211(cfg80211_wext) && priv->wdev->current_bss) {
if (IS_STA_CFG80211(cfg80211_wext) && priv->wdev->connected) {
priv->cfg_disconnect = MTRUE;
cfg80211_disconnected(priv->netdev, 0, NULL, 0,
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
@ -8637,7 +8637,7 @@ t_void woal_send_disconnect_to_system(moal_private *priv,
if (IS_STA_CFG80211(cfg80211_wext)) {
spin_lock_irqsave(&priv->connect_lock, flags);
if (!priv->cfg_disconnect && !priv->cfg_connect && priv->wdev &&
priv->wdev->current_bss) {
priv->wdev->connected) {
PRINTM(MMSG,
"wlan: Disconnected from " MACSTR
": Reason code %d\n",

View file

@ -3308,7 +3308,7 @@ mlan_status moal_recv_event(t_void *pmoal, pmlan_event pmevent)
PRINTM(MMSG,
"Channel Under Nop: notify cfg80211 new channel=%d\n",
priv->channel);
cfg80211_ch_switch_notify(priv->netdev, &priv->chan);
cfg80211_ch_switch_notify(priv->netdev, &priv->chan, 0);
priv->chan_under_nop = MFALSE;
}
#endif
@ -3632,7 +3632,7 @@ mlan_status moal_recv_event(t_void *pmoal, pmlan_event pmevent)
PRINTM(MEVENT,
"HostMlme %s: Receive deauth/disassociate\n",
priv->netdev->name);
if (!priv->wdev->current_bss) {
if (!priv->wdev->connected) {
PRINTM(MEVENT,
"HostMlme: Drop deauth/disassociate, current_bss = null\n");
break;
@ -4002,7 +4002,7 @@ mlan_status moal_recv_event(t_void *pmoal, pmlan_event pmevent)
roam_info =
kzalloc(sizeof(struct cfg80211_roam_info), GFP_ATOMIC);
if (roam_info) {
roam_info->bssid = priv->cfg_bssid;
roam_info->links[0].bssid = priv->cfg_bssid;
roam_info->req_ie = req_ie;
roam_info->req_ie_len = ie_len;
roam_info->resp_ie = pinfo->rsp_ie;

View file

@ -111,6 +111,7 @@ static int woal_cfg80211_dump_survey(struct wiphy *wiphy,
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
static int woal_cfg80211_get_channel(struct wiphy *wiphy,
struct wireless_dev *wdev,
unsigned int link_id,
struct cfg80211_chan_def *chandef);
#endif
static int woal_cfg80211_set_power_mgmt(struct wiphy *wiphy,
@ -5381,7 +5382,7 @@ static int woal_cfg80211_disconnect(struct wiphy *wiphy, struct net_device *dev,
if (priv->media_connected == MFALSE) {
PRINTM(MMSG, " Already disconnected\n");
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)
if (priv->wdev->current_bss &&
if (priv->wdev->connected &&
(priv->wdev->iftype == NL80211_IFTYPE_STATION ||
priv->wdev->iftype == NL80211_IFTYPE_P2P_CLIENT)) {
priv->cfg_disconnect = MTRUE;
@ -5701,6 +5702,7 @@ done:
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
static int woal_cfg80211_get_channel(struct wiphy *wiphy,
struct wireless_dev *wdev,
unsigned int link_id,
struct cfg80211_chan_def *chandef)
{
moal_private *priv = (moal_private *)woal_get_netdev_priv(wdev->netdev);
@ -8574,7 +8576,7 @@ int woal_cfg80211_update_ft_ies(struct wiphy *wiphy, struct net_device *dev,
passoc_rsp = (IEEEtypes_AssocRsp_t *)
assoc_rsp->assoc_resp_buf;
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
roam_info.bssid = priv->cfg_bssid;
roam_info.links[0].bssid = priv->cfg_bssid;
roam_info.req_ie = priv->sme_current.ie;
roam_info.req_ie_len = priv->sme_current.ie_len;
roam_info.resp_ie = passoc_rsp->ie_buffer;
@ -9040,7 +9042,7 @@ void woal_start_roaming(moal_private *priv)
}
#endif
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
roam_info.bssid = priv->cfg_bssid;
roam_info.links[0].bssid = priv->cfg_bssid;
roam_info.req_ie = ie;
roam_info.req_ie_len = ie_len;
roam_info.resp_ie = passoc_rsp->ie_buffer;

View file

@ -2314,15 +2314,15 @@ int woal_cfg80211_del_virtual_intf(struct wiphy *wiphy,
}
}
if (vir_priv && vir_priv->bss_type == MLAN_BSS_TYPE_UAP) {
woal_cfg80211_del_beacon(wiphy, dev);
woal_cfg80211_del_beacon(wiphy, dev, 0);
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 0, 0)
vir_priv->wdev->beacon_interval = 0;
vir_priv->wdev->links[0].ap.beacon_interval = 0;
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
memset(&vir_priv->wdev->chandef, 0,
sizeof(vir_priv->wdev->chandef));
memset(&vir_priv->wdev->links[0].ap.chandef, 0,
sizeof(vir_priv->wdev->links[0].ap.chandef));
#endif
#endif
vir_priv->wdev->ssid_len = 0;
vir_priv->wdev->u.ap.ssid_len = 0;
PRINTM(MMSG, "Skip del UAP virtual interface %s",
dev->name);
}
@ -2597,7 +2597,7 @@ done:
*
* @return 0 -- success, otherwise fail
*/
int woal_cfg80211_del_beacon(struct wiphy *wiphy, struct net_device *dev)
int woal_cfg80211_del_beacon(struct wiphy *wiphy, struct net_device *dev, unsigned int link_id)
{
moal_private *priv = (moal_private *)woal_get_netdev_priv(dev);
int ret = 0;
@ -3297,7 +3297,7 @@ static void woal_switch_uap_channel(moal_private *priv, t_u8 wait_option)
priv->channel = uap_channel.channel;
moal_memcpy_ext(priv->phandle, &priv->chan, &priv->csa_chan,
sizeof(struct cfg80211_chan_def), sizeof(priv->chan));
cfg80211_ch_switch_notify(priv->netdev, &priv->chan);
cfg80211_ch_switch_notify(priv->netdev, &priv->chan, 0);
if (priv->uap_tx_blocked) {
if (!netif_carrier_ok(priv->netdev))
netif_carrier_on(priv->netdev);