ath5k: don't use volatile, it's not needed
[cascardo/linux.git] / drivers / net / wireless / ath / ath5k / reset.c
index 8420689..bbeef3a 100644 (file)
@@ -25,7 +25,7 @@
 
 #include <asm/unaligned.h>
 
-#include <linux/pci.h>                 /* To determine if a card is pci-e */
+#include <linux/pci.h>         /* To determine if a card is pci-e */
 #include <linux/log2.h>
 #include <linux/platform_device.h>
 #include "ath5k.h"
@@ -158,6 +158,11 @@ static void ath5k_hw_init_core_clock(struct ath5k_hw *ah)
        txlat = AR5K_REG_MS(usec_reg, AR5K_USEC_TX_LATENCY_5211);
        rxlat = AR5K_REG_MS(usec_reg, AR5K_USEC_RX_LATENCY_5211);
 
+       /*
+        * Set default Tx frame to Tx data start delay
+        */
+       txf2txs = AR5K_INIT_TXF2TXD_START_DEFAULT;
+
        /*
         * 5210 initvals don't include usec settings
         * so we need to use magic values here for
@@ -370,19 +375,19 @@ static int ath5k_hw_nic_reset(struct ath5k_hw *ah, u32 val)
 static int ath5k_hw_wisoc_reset(struct ath5k_hw *ah, u32 flags)
 {
        u32 mask = flags ? flags : ~0U;
-       volatile u32 *reg;
+       u32 __iomem *reg;
        u32 regval;
        u32 val = 0;
 
        /* ah->ah_mac_srev is not available at this point yet */
        if (ah->ah_sc->devid >= AR5K_SREV_AR2315_R6) {
-               reg = (u32 *) AR5K_AR2315_RESET;
+               reg = (u32 __iomem *) AR5K_AR2315_RESET;
                if (mask & AR5K_RESET_CTL_PCU)
                        val |= AR5K_AR2315_RESET_WMAC;
                if (mask & AR5K_RESET_CTL_BASEBAND)
                        val |= AR5K_AR2315_RESET_BB_WARM;
        } else {
-               reg = (u32 *) AR5K_AR5312_RESET;
+               reg = (u32 __iomem *) AR5K_AR5312_RESET;
                if (to_platform_device(ah->ah_sc->dev)->id == 0) {
                        if (mask & AR5K_RESET_CTL_PCU)
                                val |= AR5K_AR5312_RESET_WMAC0;
@@ -1119,8 +1124,11 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
                        /* Non fatal, can happen eg.
                         * on mode change */
                        ret = 0;
-               } else
+               } else {
+                       ATH5K_DBG(ah->ah_sc, ATH5K_DEBUG_RESET,
+                               "fast chan change successful\n");
                        return 0;
+               }
        }
 
        /*