mwifiex: 8997: mlinux: port the driver to support L5.4

Port the driver to support L5.4 kernel.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
This commit is contained in:
Fugang Duan 2020-01-13 10:21:55 +08:00
parent bd8827d169
commit 280b53192f
3 changed files with 28 additions and 1 deletions

View File

@ -1192,24 +1192,28 @@ const struct wiphy_vendor_command vendor_commands[] = {
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd = sub_cmd_set_drvdbg,},
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
.doit = woal_cfg80211_subcmd_set_drvdbg,
.policy = VENDOR_CMD_RAW_DATA,
},
{
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
sub_cmd_get_valid_channels,},
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
.doit = woal_cfg80211_subcmd_get_valid_channels,
.policy = VENDOR_CMD_RAW_DATA,
},
{
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
sub_cmd_set_scan_mac_oui,},
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
.doit = woal_cfg80211_subcmd_set_scan_mac_oui,
.policy = VENDOR_CMD_RAW_DATA,
},
#ifdef STA_CFG80211
{
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd = sub_cmd_rssi_monitor,},
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
.doit = woal_cfg80211_subcmd_rssi_monitor,
.policy = VENDOR_CMD_RAW_DATA,
},
#endif
{
@ -1217,6 +1221,7 @@ const struct wiphy_vendor_command vendor_commands[] = {
sub_cmd_set_roaming_offload_key,},
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
.doit = woal_cfg80211_subcmd_set_roaming_offload_key,
.policy = VENDOR_CMD_RAW_DATA,
},
{
@ -1224,6 +1229,7 @@ const struct wiphy_vendor_command vendor_commands[] = {
sub_cmd_dfs_capability,},
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
.doit = woal_cfg80211_subcmd_set_dfs_offload,
.policy = VENDOR_CMD_RAW_DATA,
},
{
@ -1231,36 +1237,42 @@ const struct wiphy_vendor_command vendor_commands[] = {
sub_cmd_get_correlated_time,},
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
.doit = woal_cfg80211_subcmd_get_correlated_time,
.policy = VENDOR_CMD_RAW_DATA,
},
{
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd = sub_cmd_nd_offload},
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
.doit = woal_cfg80211_subcmd_11k_cfg,
.policy = VENDOR_CMD_RAW_DATA,
},
{
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
sub_cmd_get_drv_version,},
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
.doit = woal_cfg80211_subcmd_get_drv_version,
.policy = VENDOR_CMD_RAW_DATA,
},
{
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
sub_cmd_get_fw_version,},
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
.doit = woal_cfg80211_subcmd_get_fw_version,
.policy = VENDOR_CMD_RAW_DATA,
},
{
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
sub_cmd_get_wifi_supp_feature_set,},
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
.doit = woal_cfg80211_subcmd_get_supp_feature_set,
.policy = VENDOR_CMD_RAW_DATA,
},
{
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
sub_cmd_set_country_code,},
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
.doit = woal_cfg80211_subcmd_set_country_code,
.policy = VENDOR_CMD_RAW_DATA,
},
};

View File

@ -344,9 +344,14 @@ struct net_device_stats *woal_get_stats(struct net_device *dev);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0)
u16 woal_select_queue(struct net_device *dev, struct sk_buff *skb,
struct net_device *sb_dev);
#else
u16 woal_select_queue(struct net_device *dev, struct sk_buff *skb,
struct net_device *sb_dev,
select_queue_fallback_t fallback);
#endif
#else
u16 woal_select_queue(struct net_device *dev, struct sk_buff *skb,
void *accel_priv, select_queue_fallback_t fallback);
@ -4662,7 +4667,7 @@ woal_select_queue(struct net_device *dev, struct sk_buff *skb
#else
, void *accel_priv
#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 3, 0))
, select_queue_fallback_t fallback
#endif
#endif

View File

@ -2309,6 +2309,15 @@ done:
if (ieee80211_is_assoc_resp
(((struct ieee80211_mgmt *)ssid_bssid.assoc_rsp.
assoc_resp_buf)->frame_control))
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(5, 3, 0)
cfg80211_rx_assoc_resp(priv->netdev, req->bss,
ssid_bssid.assoc_rsp.
assoc_resp_buf,
ssid_bssid.assoc_rsp.
assoc_resp_len, -1,
NULL, 0);
#else
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
cfg80211_rx_assoc_resp(priv->netdev, req->bss,
ssid_bssid.assoc_rsp.
@ -2329,6 +2338,7 @@ done:
ssid_bssid.assoc_rsp.
assoc_resp_len);
#endif
#endif
#endif
}
LEAVE();