From: Ajay Singh <ajay.kat...@microchip.com>

The value of 'vif_num'(interface count) starts with 0, so modified the
loop conditions to execute for all interface.

Signed-off-by: Ajay Singh <ajay.kat...@microchip.com>
---
 drivers/staging/wilc1000/host_interface.c | 2 +-
 drivers/staging/wilc1000/linux_wlan.c     | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/wilc1000/host_interface.c 
b/drivers/staging/wilc1000/host_interface.c
index 3576834..fde236a 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -1659,7 +1659,7 @@ int wilc_init(struct net_device *dev, struct host_if_drv 
**hif_drv_handler)
                return -ENOMEM;
 
        *hif_drv_handler = hif_drv;
-       for (i = 0; i < wilc->vif_num; i++)
+       for (i = 0; i <= wilc->vif_num; i++)
                if (dev == wilc->vif[i]->ndev) {
                        wilc->vif[i]->hif_drv = hif_drv;
                        hif_drv->driver_handler_id = i + 1;
diff --git a/drivers/staging/wilc1000/linux_wlan.c 
b/drivers/staging/wilc1000/linux_wlan.c
index 81472d2..466a1fa 100644
--- a/drivers/staging/wilc1000/linux_wlan.c
+++ b/drivers/staging/wilc1000/linux_wlan.c
@@ -164,7 +164,7 @@ static struct net_device *get_if_handler(struct wilc *wilc, 
u8 *mac_header)
        bssid = mac_header + 10;
        bssid1 = mac_header + 4;
 
-       for (i = 0; i < wilc->vif_num; i++) {
+       for (i = 0; i <= wilc->vif_num; i++) {
                if (wilc->vif[i]->mode == WILC_STATION_MODE)
                        if (ether_addr_equal_unaligned(bssid,
                                                       wilc->vif[i]->bssid))
@@ -195,7 +195,7 @@ int wilc_wlan_get_num_conn_ifcs(struct wilc *wilc)
        u8 i = 0;
        u8 ret_val = 0;
 
-       for (i = 0; i < wilc->vif_num; i++)
+       for (i = 0; i <= wilc->vif_num; i++)
                if (!is_zero_ether_addr(wilc->vif[i]->bssid))
                        ret_val++;
 
@@ -739,7 +739,7 @@ static int wilc_mac_open(struct net_device *ndev)
                return ret;
        }
 
-       for (i = 0; i < wl->vif_num; i++) {
+       for (i = 0; i <= wl->vif_num; i++) {
                if (ndev == wl->vif[i]->ndev) {
                        wilc_set_wfi_drv_handler(vif, wilc_get_vif_idx(vif),
                                                 vif->iftype, vif->ifc_id);
@@ -941,7 +941,7 @@ void wilc_wfi_mgmt_rx(struct wilc *wilc, u8 *buff, u32 size)
        int i = 0;
        struct wilc_vif *vif;
 
-       for (i = 0; i < wilc->vif_num; i++) {
+       for (i = 0; i <= wilc->vif_num; i++) {
                vif = netdev_priv(wilc->vif[i]->ndev);
                if (vif->monitor_flag) {
                        wilc_wfi_monitor_rx(wilc->monitor_dev, buff, size);
-- 
2.7.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to