fix a rare wds related noderef issue
[openwrt/openwrt.git] / package / madwifi / patches / 400-changeset_r3402.patch
1 --- a/ath_hal/ah_os.h
2 +++ b/ath_hal/ah_os.h
3 @@ -194,10 +194,6 @@ extern u_int32_t __ahdecl ath_hal_getupt
4 */
5 #if (AH_BYTE_ORDER == AH_BIG_ENDIAN)
6 #define is_reg_le(__reg) ((0x4000 <= (__reg) && (__reg) < 0x5000))
7 -#else
8 -#define is_reg_le(__reg) 1
9 -#endif
10 -
11 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12)
12 #define _OS_REG_WRITE(_ah, _reg, _val) do { \
13 is_reg_le(_reg) ? \
14 @@ -219,6 +215,21 @@ extern u_int32_t __ahdecl ath_hal_getupt
15 readl((_ah)->ah_sh + (_reg)) : \
16 cpu_to_le32(readl((_ah)->ah_sh + (_reg))))
17 #endif /* KERNEL_VERSION(2,6,12) */
18 +#else /* AH_BYTE_ORDER != AH_BIG_ENDIAN */
19 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12)
20 +#define _OS_REG_WRITE(_ah, _reg, _val) do { \
21 + iowrite32((_val), (_ah)->ah_sh + (_reg)); \
22 + } while (0)
23 +#define _OS_REG_READ(_ah, _reg) \
24 + ioread32((_ah)->ah_sh + (_reg))
25 +#else
26 +#define _OS_REG_WRITE(_ah, _reg, _val) do { \
27 + writel((_val), (_ah)->ah_sh + (_reg)); \
28 + } while (0)
29 +#define _OS_REG_READ(_ah, _reg) \
30 + readl((_ah)->ah_sh + (_reg))
31 +#endif /* KERNEL_VERSION(2,6,12) */
32 +#endif /* AH_BYTE_ORDER != AH_BIG_ENDIAN */
33
34 /*
35 * The functions in this section are not intended to be invoked by MadWifi