Jelajahi Sumber

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 9 tahun lalu
induk
melakukan
8827bd88ef
1 mengubah file dengan 7 tambahan dan 0 penghapusan
  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)