Browse Source

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 năm trước cách đây
mục cha
commit
8827bd88ef
1 tập tin đã thay đổi với 7 bổ sung0 xóa
  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)