ath9k: check pdata variable before dereferencing it
authorGabor Juhos <juhosg@openwrt.org>
Mon, 10 Dec 2012 23:06:41 +0000 (00:06 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 11 Dec 2012 21:00:39 +0000 (16:00 -0500)
Due to my recent commit (ath9k: allow to load EEPROM
content via firmware API) smatch complains about that
the 'pdata' variable in 'ath9k_hw_init' can be NULL
and it is dereferenced before checking that. That is
absolutely correct.

Check the 'pdata' variable before using it to avoid
a NULL pointer dereference.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/init.c

index 27703a5..f69ef5d 100644 (file)
@@ -633,7 +633,7 @@ static int ath9k_init_softc(u16 devid, struct ath_softc *sc,
        ath_read_cachesize(common, &csz);
        common->cachelsz = csz << 2; /* convert to bytes */
 
-       if (pdata->eeprom_name) {
+       if (pdata && pdata->eeprom_name) {
                ret = ath9k_eeprom_request(sc, pdata->eeprom_name);
                if (ret)
                        goto err_eeprom;