]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/wireless/libertas/main.c
libertas: convert CMD_802_11_RF_TX_POWER to a direct command
[linux-2.6-omap-h63xx.git] / drivers / net / wireless / libertas / main.c
index bd32ac0b4e0714b62d28f3ae6f642dcb479f70b5..3c13619ffa15d9a5b5dea7c27d05238cccdf98d6 100644 (file)
@@ -956,17 +956,24 @@ EXPORT_SYMBOL_GPL(lbs_resume);
 static int lbs_setup_firmware(struct lbs_private *priv)
 {
        int ret = -1;
+       s16 curlevel = 0, minlevel = 0, maxlevel = 0;
 
        lbs_deb_enter(LBS_DEB_FW);
 
-       /*
-        * Read MAC address from HW
-        */
+       /* Read MAC address from firmware */
        memset(priv->current_addr, 0xff, ETH_ALEN);
        ret = lbs_update_hw_spec(priv);
        if (ret)
                goto done;
 
+       /* Read power levels if available */
+       ret = lbs_get_tx_power(priv, &curlevel, &minlevel, &maxlevel);
+       if (ret == 0) {
+               priv->txpower_cur = curlevel;
+               priv->txpower_min = minlevel;
+               priv->txpower_max = maxlevel;
+       }
+
        lbs_set_mac_control(priv);
 done:
        lbs_deb_leave_args(LBS_DEB_FW, "ret %d", ret);