Merge pull request #31 from johnkeeping/rtnl-locking

rtl8723ds: fix rtnl_lock handling
This commit is contained in:
lwfinger 2022-11-30 09:26:02 -06:00 committed by GitHub
commit 3f1d7b6dc7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 31 deletions

View File

@ -1402,13 +1402,7 @@ int rtw_os_ndev_register(_adapter *adapter, const char *name)
/* Tell the network stack we exist */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26))
if (!rtnl_is_locked())
ret = (register_netdev(ndev) == 0) ? _SUCCESS : _FAIL;
else
#endif
ret = (register_netdevice(ndev) == 0) ? _SUCCESS : _FAIL;
ret = (register_netdev(ndev) == 0) ? _SUCCESS : _FAIL;
if (ret == _SUCCESS)
adapter->registered = 1;
else
@ -1447,14 +1441,8 @@ void rtw_os_ndev_unregister(_adapter *adapter)
rtw_cfg80211_ndev_res_unregister(adapter);
#endif
if ((adapter->DriverState != DRIVER_DISAPPEAR) && netdev) {
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26))
if (!rtnl_is_locked())
unregister_netdev(netdev);
else
#endif
unregister_netdevice(netdev);
}
if ((adapter->DriverState != DRIVER_DISAPPEAR) && netdev)
unregister_netdev(netdev);
#if defined(CONFIG_IOCTL_CFG80211) && !defined(RTW_SINGLE_WIPHY)
rtw_wiphy_unregister(adapter_to_wiphy(adapter));

View File

@ -1516,10 +1516,6 @@ RETURN:
return;
}
/*
* Jeff: this function should be called under ioctl (rtnl_lock is accquired) while
* LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26)
*/
int rtw_change_ifname(_adapter *padapter, const char *ifname)
{
struct net_device *pnetdev;
@ -1539,12 +1535,7 @@ int rtw_change_ifname(_adapter *padapter, const char *ifname)
rereg_priv->old_pnetdev = NULL;
}
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26))
if (!rtnl_is_locked())
unregister_netdev(cur_pnetdev);
else
#endif
unregister_netdevice(cur_pnetdev);
unregister_netdevice(cur_pnetdev);
rereg_priv->old_pnetdev = cur_pnetdev;
@ -1564,12 +1555,7 @@ int rtw_change_ifname(_adapter *padapter, const char *ifname)
dev_addr_set(pnetdev, adapter_mac_addr(padapter));
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26))
if (!rtnl_is_locked())
ret = register_netdev(pnetdev);
else
#endif
ret = register_netdevice(pnetdev);
ret = register_netdevice(pnetdev);
if (ret != 0) {
goto error;