1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
Index: mt76x2e-3.0.4.0/rlt_wifi/ap/ap.c
===================================================================
--- mt76x2e-3.0.4.0.orig/rlt_wifi/ap/ap.c
+++ mt76x2e-3.0.4.0/rlt_wifi/ap/ap.c
@@ -707,7 +707,8 @@ DBGPRINT(RT_DEBUG_OFF, ("%s(): AP Set Ce
#ifdef RTMP_MAC_PCI
//enable IRQ after init ready
- RTMP_IRQ_ENABLE(pAd);
+ //RTMP_IRQ_ENABLE(pAd);
+ RTMP_MAC_RX_ENABLE(pAd);
#endif /*RTMP_MAC_PCI*/
#ifdef WAPI_SUPPORT
@@ -817,7 +818,8 @@ VOID APStop(
#ifdef RTMP_MAC_PCI
//disable IRQ before init ready
- RTMP_ASIC_INTERRUPT_DISABLE(pAd);
+ //RTMP_ASIC_INTERRUPT_DISABLE(pAd);
+ RTMP_MAC_RX_DISABLE(pAd);
#endif /*RTMP_MAC_PCI*/
MacTableReset(pAd);
Index: mt76x2e-3.0.4.0/rlt_wifi/include/mac_ral/mac_pci.h
===================================================================
--- mt76x2e-3.0.4.0.orig/rlt_wifi/include/mac_ral/mac_pci.h
+++ mt76x2e-3.0.4.0/rlt_wifi/include/mac_ral/mac_pci.h
@@ -319,6 +319,26 @@ typedef enum _RTMP_TX_DONE_MASK{
} while(0)
+ /* Disable MAC RX */
+#define RTMP_MAC_RX_DISABLE(pAd) \
+ do{ \
+ UINT32 value; \
+ RTMP_IO_READ32(pAd, MAC_SYS_CTRL, &value); \
+ value &= ~(1<<3); \
+ RTMP_IO_WRITE32(pAd, MAC_SYS_CTRL, value); \
+ } while(0)
+
+
+ /* Enable MAC RX */
+#define RTMP_MAC_RX_ENABLE(pAd) \
+ do{ \
+ UINT32 value; \
+ RTMP_IO_READ32(pAd, MAC_SYS_CTRL, &value); \
+ value |= (1<<3); \
+ RTMP_IO_WRITE32(pAd, MAC_SYS_CTRL, value); \
+ } while(0)
+
+
/* ----------------- MLME Related MACRO ----------------- */
// TODO: shiang-usw, need to verify this to make sure that's solid enough!
|