update madwifi to latest rev - works around some crashiness
[openwrt/svn-archive/archive.git] / package / madwifi / patches / 128-revert_ioaccess.patch
1 Index: madwifi-ng-r2834-20071106/ath_hal/ah_os.h
2 ===================================================================
3 --- madwifi-ng-r2834-20071106.orig/ath_hal/ah_os.h 2007-11-07 14:01:59.257328552 +0100
4 +++ madwifi-ng-r2834-20071106/ath_hal/ah_os.h 2007-11-07 14:02:04.329617605 +0100
5 @@ -172,44 +172,25 @@
6 * never byte-swapped by PCI chipsets or bridges, but always
7 * written directly (i.e. the format defined by the manufacturer).
8 */
9 -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12)
10 -# if (AH_BYTE_ORDER == AH_BIG_ENDIAN)
11 +#if (AH_BYTE_ORDER == AH_BIG_ENDIAN)
12 #define _OS_REG_WRITE(_ah, _reg, _val) do { \
13 (0x4000 <= (_reg) && (_reg) < 0x5000) ? \
14 - iowrite32((_val), (_ah)->ah_sh + (_reg)) : \
15 - iowrite32be((_val), (_ah)->ah_sh + (_reg)); \
16 - } while (0)
17 -#define _OS_REG_READ(_ah, _reg) \
18 - ((0x4000 <= (_reg) && (_reg) < 0x5000) ? \
19 - ioread32((_ah)->ah_sh + (_reg)) : \
20 - ioread32be((_ah)->ah_sh + (_reg)));
21 -# else /* AH_LITTLE_ENDIAN */
22 -#define _OS_REG_WRITE(_ah, _reg, _val) do { \
23 - iowrite32(_val, (_ah)->ah_sh + (_reg)); \
24 - } while (0)
25 -#define _OS_REG_READ(_ah, _reg) \
26 - ioread32((_ah)->ah_sh + (_reg))
27 -
28 -# endif /* AH_BYTE_ORDER */
29 -#else
30 -# if (AH_BYTE_ORDER == AH_BIG_ENDIAN)
31 -#define _OS_REG_WRITE(_ah, _reg, _val) do { \
32 - writel((0x4000 <= (_reg) && (_reg) < 0x5000) ? \
33 - (_val) : cpu_to_le32(_val), \
34 - (_ah)->ah_sh + (_reg)); \
35 - } while (0)
36 + writel((_val), (_ah)->ah_sh + (_reg)) : \
37 + ({__raw_writel((_val), (_ah)->ah_sh + (_reg)); \
38 + mb(); }); \
39 +} while (0)
40 #define _OS_REG_READ(_ah, _reg) \
41 ((0x4000 <= (_reg) && (_reg) < 0x5000) ? \
42 readl((_ah)->ah_sh + (_reg)) : \
43 - cpu_to_le32(readl((_ah)->ah_sh + (_reg))))
44 -# else /* AH_LITTLE_ENDIAN */
45 + ({unsigned long __v = __raw_readl((_ah)->ah_sh + \
46 + (_reg)); mb(); __v; }))
47 +#else /* AH_LITTLE_ENDIAN */
48 #define _OS_REG_WRITE(_ah, _reg, _val) do { \
49 writel(_val, (_ah)->ah_sh + (_reg)); \
50 - } while (0)
51 +} while (0)
52 #define _OS_REG_READ(_ah, _reg) \
53 readl((_ah)->ah_sh + (_reg))
54 -# endif /* AH_BYTE_ORDER */
55 -#endif /* KERNEL_VERSON(2,6,12) */
56 +#endif /* AH_BYTE_ORDER */
57
58 /*
59 The functions in this section are not intended to be invoked by MadWifi driver