rtl8188eu: Fix problem where device is not up on module load

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
This commit is contained in:
Larry Finger 2018-05-05 14:08:13 -05:00
parent bc8ca96401
commit 0b659bd591
3 changed files with 43 additions and 59 deletions

View file

@ -603,25 +603,32 @@ void rtw_unregister_netdevs(struct dvobj_priv *dvobj)
{
int i;
struct adapter *padapter = NULL;
struct net_device *pnetdev = NULL;
for (i=0;i<dvobj->iface_nums;i++)
{
struct net_device *pnetdev = NULL;
if (!dvobj || dvobj->iface_nums == 0)
return;
for (i=0;i<dvobj->iface_nums;i++) {
padapter = dvobj->padapters[i];
if (padapter == NULL)
continue;
pnetdev = padapter->pnetdev;
if (!pnetdev)
continue;
if ((padapter->DriverState != DRIVER_DISAPPEAR) && pnetdev) {
if (padapter->DriverState != DRIVER_DISAPPEAR) {
struct wireless_dev *wdev = padapter->rtw_wdev;
wdev->current_bss = NULL;
pnetdev->reg_state = NETREG_REGISTERED;
unregister_netdev(pnetdev); /* will call netdev_close() */
rtw_proc_remove_one(pnetdev);
}
rtw_wdev_unregister(padapter->rtw_wdev);
if (padapter->rtw_wdev)
rtw_wdev_unregister(padapter->rtw_wdev);
}
}