drivers: staging: wilc1000: Add check for SPI availability
authorChandra S Gorentla <csgorentla@gmail.com>
Tue, 15 Sep 2015 12:39:51 +0000 (18:09 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 Sep 2015 13:47:05 +0000 (06:47 -0700)
NULL pointer deference is observed in the wilc1000.ko module
with bus type SPI and when SPI is not ready.

Signed-off-by: Chandra S Gorentla <csgorentla@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wilc1000/linux_wlan.c

index d8f17c6f9b5f5240f2437246a531fb72534bbfb8..9436eace44fa629d7f2cf3a65af1f9e63ae4c40b 100644 (file)
@@ -1634,6 +1634,12 @@ int mac_open(struct net_device *ndev)
        int i = 0;
        struct WILC_WFI_priv *priv;
 
+#ifdef WILC_SPI
+       if (!g_linux_wlan || !g_linux_wlan->wilc_spidev) {
+               netdev_err(ndev, "wilc1000: SPI device not ready\n");
+               return -ENODEV;
+       }
+#endif
        nic = netdev_priv(ndev);
        priv = wiphy_priv(nic->wilc_netdev->ieee80211_ptr->wiphy);
        PRINT_D(INIT_DBG, "MAC OPEN[%p]\n", ndev);