diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h index 6650fd48415..c86eea28a88 100644 --- a/drivers/net/wireless/ath/ath9k/hw.h +++ b/drivers/net/wireless/ath/ath9k/hw.h | |||
@@ -99,18 +99,22 @@ | |||
99 | #define REG_CLR_BIT(_a, _r, _f) \ | 99 | #define REG_CLR_BIT(_a, _r, _f) \ |
100 | REG_WRITE(_a, _r, REG_READ(_a, _r) & ~(_f)) | 100 | REG_WRITE(_a, _r, REG_READ(_a, _r) & ~(_f)) |
101 | 101 | ||
102 | #define DO_DELAY(x) do { \ | 102 | #define DO_DELAY(x) do { \ |
103 | if ((++(x) % 64) == 0) \ | 103 | if (((++(x) % 64) == 0) && \ |
104 | udelay(1); \ | 104 | (ath9k_hw_common(ah)->bus_ops->ath_bus_type \ |
105 | != ATH_USB)) \ | ||
106 | udelay(1); \ | ||
105 | } while (0) | 107 | } while (0) |
106 | 108 | ||
107 | #define REG_WRITE_ARRAY(iniarray, column, regWr) do { \ | 109 | #define REG_WRITE_ARRAY(iniarray, column, regWr) do { \ |
108 | int r; \ | 110 | int r; \ |
111 | ENABLE_REGWRITE_BUFFER(ah); \ | ||
109 | for (r = 0; r < ((iniarray)->ia_rows); r++) { \ | 112 | for (r = 0; r < ((iniarray)->ia_rows); r++) { \ |
110 | REG_WRITE(ah, INI_RA((iniarray), (r), 0), \ | 113 | REG_WRITE(ah, INI_RA((iniarray), (r), 0), \ |
111 | INI_RA((iniarray), r, (column))); \ | 114 | INI_RA((iniarray), r, (column))); \ |
112 | DO_DELAY(regWr); \ | 115 | DO_DELAY(regWr); \ |
113 | } \ | 116 | } \ |
117 | REGWRITE_BUFFER_FLUSH(ah); \ | ||
114 | } while (0) | 118 | } while (0) |
115 | 119 | ||
116 | #define AR_GPIO_OUTPUT_MUX_AS_OUTPUT 0 | 120 | #define AR_GPIO_OUTPUT_MUX_AS_OUTPUT 0 |