Return-path: Received: from eusmtp01.atmel.com ([212.144.249.243]:11883 "EHLO eusmtp01.atmel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751499AbbLUFTg (ORCPT ); Mon, 21 Dec 2015 00:19:36 -0500 From: Glen Lee To: CC: , , , , , , , , Subject: [PATCH RESEND 45/46] staging: wilc1000: set hif_drv before it is used Date: Mon, 21 Dec 2015 14:18:49 +0900 Message-ID: <1450675130-17866-46-git-send-email-glen.lee@atmel.com> (sfid-20151221_061939_740537_BC58CCF9) In-Reply-To: <1450675130-17866-1-git-send-email-glen.lee@atmel.com> References: <1450675130-17866-1-git-send-email-glen.lee@atmel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-wireless-owner@vger.kernel.org List-ID: 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 --- drivers/staging/wilc1000/host_interface.c | 6 ++++++ drivers/staging/wilc1000/linux_wlan.c | 1 - 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/staging/wilc1000/host_interface.c b/drivers/staging/wilc1000/host_interface.c index d6b23cd..8c77520 100644 --- a/drivers/staging/wilc1000/host_interface.c +++ b/drivers/staging/wilc1000/host_interface.c @@ -3782,6 +3782,7 @@ s32 wilc_init(struct net_device *dev, struct host_if_drv **hif_drv_handler) struct host_if_drv *hif_drv; struct wilc_vif *vif; struct wilc *wilc; + int i; vif = netdev_priv(dev); wilc = vif->wilc; @@ -3798,6 +3799,11 @@ s32 wilc_init(struct net_device *dev, struct host_if_drv **hif_drv_handler) 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; diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c index a50e3ff..54fe9d7 100644 --- a/drivers/staging/wilc1000/linux_wlan.c +++ b/drivers/staging/wilc1000/linux_wlan.c @@ -1036,7 +1036,6 @@ int wilc_mac_open(struct net_device *ndev) 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; } } -- 1.9.1