patch "staging: wilc1000: Fix problem with wrong vif index" added to staging-next
Subsystems (2)
This is a note to let you know that I've just added the patch titled
staging: wilc1000: Fix problem with wrong vif index
to my staging git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
in the staging-next branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will also be merged in the next major kernel release during the merge window.
If you have any questions about this process, please let me know.
Quoted 1 line
From
0e490657c7214cce33fbca3d88227298c5c968aeMon Sep 17 00:00:00 2001
From: Aditya Shankar <[email protected]>
Date: Fri, 7 Apr 2017 17:24:58 +0530
Subject: staging: wilc1000: Fix problem with wrong vif index
The vif->idx value is always 0 for two interfaces.
wl->vif_num = 0;
loop {
...
vif->idx = wl->vif_num;
...
wl->vif_num = i;
....
i++;
...
}At present, vif->idx is assigned the value of wl->vif_num
at the beginning of this block and device is initialized
based on this index value.
In the next iteration, wl->vif_num is still 0 as it is only updated later but gets assigned to vif->idx in the beginning. This causes problems later when we try to reference a particular interface and also while configuring the firmware.
This patch moves the assignment to vif->idx from the beginning of the block to after wl->vif_num is updated with latest value of i.
--- drivers/staging/wilc1000/linux_wlan.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/staging/wilc1000/linux_wlan.c +2 -1
@@ -1251,11 +1251,12 @@ int wilc_netdev_init(struct wilc **wilc, struct device *dev, int io_type,else strcpy (ndev->name,"p2p%d" ); - vif->idx = wl->vif_num; vif->wilc = *wilc; vif->ndev = ndev; wl->vif[i] = vif; wl->vif_num = i; + vif->idx = wl->vif_num; + ndev->netdev_ops = &wilc_netdev_ops; {
Signature · 1 line
2.12.2