mirror of
https://github.com/nxp-imx/mwifiex.git
synced 2025-01-15 16:25:35 +00:00
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:
parent
bd8827d169
commit
280b53192f
3 changed files with 28 additions and 1 deletions
|
@ -1192,24 +1192,28 @@ const struct wiphy_vendor_command vendor_commands[] = {
|
||||||
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd = sub_cmd_set_drvdbg,},
|
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd = sub_cmd_set_drvdbg,},
|
||||||
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
||||||
.doit = woal_cfg80211_subcmd_set_drvdbg,
|
.doit = woal_cfg80211_subcmd_set_drvdbg,
|
||||||
|
.policy = VENDOR_CMD_RAW_DATA,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
|
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
|
||||||
sub_cmd_get_valid_channels,},
|
sub_cmd_get_valid_channels,},
|
||||||
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
||||||
.doit = woal_cfg80211_subcmd_get_valid_channels,
|
.doit = woal_cfg80211_subcmd_get_valid_channels,
|
||||||
|
.policy = VENDOR_CMD_RAW_DATA,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
|
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
|
||||||
sub_cmd_set_scan_mac_oui,},
|
sub_cmd_set_scan_mac_oui,},
|
||||||
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
||||||
.doit = woal_cfg80211_subcmd_set_scan_mac_oui,
|
.doit = woal_cfg80211_subcmd_set_scan_mac_oui,
|
||||||
|
.policy = VENDOR_CMD_RAW_DATA,
|
||||||
},
|
},
|
||||||
#ifdef STA_CFG80211
|
#ifdef STA_CFG80211
|
||||||
{
|
{
|
||||||
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd = sub_cmd_rssi_monitor,},
|
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd = sub_cmd_rssi_monitor,},
|
||||||
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
||||||
.doit = woal_cfg80211_subcmd_rssi_monitor,
|
.doit = woal_cfg80211_subcmd_rssi_monitor,
|
||||||
|
.policy = VENDOR_CMD_RAW_DATA,
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
@ -1217,6 +1221,7 @@ const struct wiphy_vendor_command vendor_commands[] = {
|
||||||
sub_cmd_set_roaming_offload_key,},
|
sub_cmd_set_roaming_offload_key,},
|
||||||
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
||||||
.doit = woal_cfg80211_subcmd_set_roaming_offload_key,
|
.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,},
|
sub_cmd_dfs_capability,},
|
||||||
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
||||||
.doit = woal_cfg80211_subcmd_set_dfs_offload,
|
.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,},
|
sub_cmd_get_correlated_time,},
|
||||||
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
||||||
.doit = woal_cfg80211_subcmd_get_correlated_time,
|
.doit = woal_cfg80211_subcmd_get_correlated_time,
|
||||||
|
.policy = VENDOR_CMD_RAW_DATA,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd = sub_cmd_nd_offload},
|
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd = sub_cmd_nd_offload},
|
||||||
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
||||||
.doit = woal_cfg80211_subcmd_11k_cfg,
|
.doit = woal_cfg80211_subcmd_11k_cfg,
|
||||||
|
.policy = VENDOR_CMD_RAW_DATA,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
|
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
|
||||||
sub_cmd_get_drv_version,},
|
sub_cmd_get_drv_version,},
|
||||||
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
||||||
.doit = woal_cfg80211_subcmd_get_drv_version,
|
.doit = woal_cfg80211_subcmd_get_drv_version,
|
||||||
|
.policy = VENDOR_CMD_RAW_DATA,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
|
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
|
||||||
sub_cmd_get_fw_version,},
|
sub_cmd_get_fw_version,},
|
||||||
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
||||||
.doit = woal_cfg80211_subcmd_get_fw_version,
|
.doit = woal_cfg80211_subcmd_get_fw_version,
|
||||||
|
.policy = VENDOR_CMD_RAW_DATA,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
|
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
|
||||||
sub_cmd_get_wifi_supp_feature_set,},
|
sub_cmd_get_wifi_supp_feature_set,},
|
||||||
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
||||||
.doit = woal_cfg80211_subcmd_get_supp_feature_set,
|
.doit = woal_cfg80211_subcmd_get_supp_feature_set,
|
||||||
|
.policy = VENDOR_CMD_RAW_DATA,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
|
.info = {.vendor_id = MRVL_VENDOR_ID,.subcmd =
|
||||||
sub_cmd_set_country_code,},
|
sub_cmd_set_country_code,},
|
||||||
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
.flags = WIPHY_VENDOR_CMD_NEED_WDEV | WIPHY_VENDOR_CMD_NEED_NETDEV,
|
||||||
.doit = woal_cfg80211_subcmd_set_country_code,
|
.doit = woal_cfg80211_subcmd_set_country_code,
|
||||||
|
.policy = VENDOR_CMD_RAW_DATA,
|
||||||
},
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -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, 13, 0)
|
||||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 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(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,
|
u16 woal_select_queue(struct net_device *dev, struct sk_buff *skb,
|
||||||
struct net_device *sb_dev,
|
struct net_device *sb_dev,
|
||||||
select_queue_fallback_t fallback);
|
select_queue_fallback_t fallback);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
u16 woal_select_queue(struct net_device *dev, struct sk_buff *skb,
|
u16 woal_select_queue(struct net_device *dev, struct sk_buff *skb,
|
||||||
void *accel_priv, select_queue_fallback_t fallback);
|
void *accel_priv, select_queue_fallback_t fallback);
|
||||||
|
@ -4662,7 +4667,7 @@ woal_select_queue(struct net_device *dev, struct sk_buff *skb
|
||||||
#else
|
#else
|
||||||
, void *accel_priv
|
, void *accel_priv
|
||||||
#endif
|
#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
|
, select_queue_fallback_t fallback
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -2309,6 +2309,15 @@ done:
|
||||||
if (ieee80211_is_assoc_resp
|
if (ieee80211_is_assoc_resp
|
||||||
(((struct ieee80211_mgmt *)ssid_bssid.assoc_rsp.
|
(((struct ieee80211_mgmt *)ssid_bssid.assoc_rsp.
|
||||||
assoc_resp_buf)->frame_control))
|
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)
|
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
|
||||||
cfg80211_rx_assoc_resp(priv->netdev, req->bss,
|
cfg80211_rx_assoc_resp(priv->netdev, req->bss,
|
||||||
ssid_bssid.assoc_rsp.
|
ssid_bssid.assoc_rsp.
|
||||||
|
@ -2329,6 +2338,7 @@ done:
|
||||||
ssid_bssid.assoc_rsp.
|
ssid_bssid.assoc_rsp.
|
||||||
assoc_resp_len);
|
assoc_resp_len);
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
LEAVE();
|
LEAVE();
|
||||||
|
|
Loading…
Reference in a new issue