We are using hif_drv of vif, so it needs to be set before it is used.
Set hif_drv to vif->hifdrv soon after it is allocated.
Signed-off-by: Glen Lee <glen.lee@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
struct host_if_drv *hif_drv;
struct wilc_vif *vif;
struct wilc *wilc;
+ int i;
vif = netdev_priv(dev);
wilc = vif->wilc;
goto _fail_;
}
*hif_drv_handler = hif_drv;
+ for (i = 0; i < wilc->vif_num; i++)
+ if (dev == wilc->vif[i]->ndev) {
+ wilc->vif[i]->hif_drv = hif_drv;
+ break;
+ }
wilc_optaining_ip = false;
for (i = 0; i < wl->vif_num; i++) {
if (ndev == wl->vif[i]->ndev) {
memcpy(wl->vif[i]->src_addr, mac_add, ETH_ALEN);
- wl->vif[i]->hif_drv = priv->hWILCWFIDrv;
break;
}
}