Explorar o código

staging: wilc1000: fixed kernel panic when firmware is not started

This patch fixed the problems caused by if firmware is not started.
That is why, in nl80211 put current TX power in interface info.
If firmware is not started, this function(get_tx_power) does not work.

Signed-off-by: Leo Kim <leo.kim@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Leo Kim %!s(int64=9) %!d(string=hai) anos
pai
achega
8827bd88ef
Modificáronse 1 ficheiros con 7 adicións e 0 borrados
  1. 7 0
      drivers/staging/wilc1000/wilc_wfi_cfgoperations.c

+ 7 - 0
drivers/staging/wilc1000/wilc_wfi_cfgoperations.c

@@ -2170,6 +2170,13 @@ static int get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev,
 	int ret;
 	struct wilc_priv *priv = wiphy_priv(wiphy);
 	struct wilc_vif *vif = netdev_priv(priv->dev);
+	struct wilc *wl;
+
+	wl = vif->wilc;
+
+	/* If firmware is not started, return. */
+	if (!wl->initialized)
+		return -EIO;
 
 	ret = wilc_get_tx_power(vif, (u8 *)dbm);
 	if (ret)