1
0
mirror of https://github.com/morrownr/8821cu-20210916.git synced 2024-11-26 07:14:41 +00:00

Merge pull request #86 from tdebrouw/access_private_commands

Fix support for SIOCDEVPRIVATE ioctls from 5.15.0 onwards.
This commit is contained in:
morrownr 2023-04-27 13:10:33 -05:00 committed by GitHub
commit e49409f22c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 0 deletions

View File

@ -79,6 +79,11 @@ uint loadparam(_adapter *adapter);
#ifdef PLATFORM_LINUX #ifdef PLATFORM_LINUX
int rtw_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); int rtw_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 0)) && defined(CONFIG_MP_INCLUDED))
int rtw_siocdevprivate(struct net_device *dev, struct ifreq *ifr,
void __user *data, int cmd);
#endif
int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname); int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname);
struct net_device *rtw_init_netdev(_adapter *padapter); struct net_device *rtw_init_netdev(_adapter *padapter);

View File

@ -13058,3 +13058,14 @@ int rtw_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
return ret; return ret;
} }
#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 0)) && defined(CONFIG_MP_INCLUDED))
int rtw_siocdevprivate(struct net_device *dev, struct ifreq *ifr,
void __user *data, int cmd)
{
if (cmd != SIOCDEVPRIVATE)
return -EOPNOTSUPP;
return rtw_ioctl_standard_wext_private(dev, ifr);
}
#endif

View File

@ -1849,6 +1849,9 @@ static const struct net_device_ops rtw_netdev_ops = {
.ndo_set_mac_address = rtw_net_set_mac_address, .ndo_set_mac_address = rtw_net_set_mac_address,
.ndo_get_stats = rtw_net_get_stats, .ndo_get_stats = rtw_net_get_stats,
.ndo_do_ioctl = rtw_ioctl, .ndo_do_ioctl = rtw_ioctl,
#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 0)) && defined(CONFIG_MP_INCLUDED))
.ndo_siocdevprivate = rtw_siocdevprivate,
#endif
}; };
#endif #endif
@ -3347,6 +3350,9 @@ static const struct net_device_ops rtw_netdev_vir_if_ops = {
.ndo_set_mac_address = rtw_net_set_mac_address, .ndo_set_mac_address = rtw_net_set_mac_address,
.ndo_get_stats = rtw_net_get_stats, .ndo_get_stats = rtw_net_get_stats,
.ndo_do_ioctl = rtw_ioctl, .ndo_do_ioctl = rtw_ioctl,
#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 0)) && defined(CONFIG_MP_INCLUDED))
.ndo_siocdevprivate = rtw_siocdevprivate,
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35))
.ndo_select_queue = rtw_select_queue, .ndo_select_queue = rtw_select_queue,
#endif #endif