OpenWrt – Blame information for rev 4
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
4 | office | 1 | --- a/src/include/drv_dsl_cpe_pm_core.h |
2 | +++ b/src/include/drv_dsl_cpe_pm_core.h |
||
3 | @@ -1510,9 +1510,9 @@ typedef struct |
||
4 | /** Common PM module mutex*/ |
||
5 | DSL_DRV_Mutex_t pmMutex; |
||
6 | /** PM module direction Near-End mutex*/ |
||
7 | - DSL_DRV_Mutex_t pmNeMutex; |
||
8 | + struct semaphore pmNeMutex; |
||
9 | /** PM module direction Far-End mutex*/ |
||
10 | - DSL_DRV_Mutex_t pmFeMutex; |
||
11 | + struct semaphore pmFeMutex; |
||
12 | /** PM module Near-End access mutex*/ |
||
13 | DSL_DRV_Mutex_t pmNeAccessMutex; |
||
14 | /** PM module Far-End access mutex*/ |
||
15 | --- a/src/pm/drv_dsl_cpe_api_pm.c |
||
16 | +++ b/src/pm/drv_dsl_cpe_api_pm.c |
||
17 | @@ -220,9 +220,9 @@ DSL_Error_t DSL_DRV_PM_Start( |
||
18 | /* init PM module common mutex */ |
||
19 | DSL_DRV_MUTEX_INIT(DSL_DRV_PM_CONTEXT(pContext)->pmMutex); |
||
20 | /* init PM module direction Near-End mutex */ |
||
21 | - DSL_DRV_MUTEX_INIT(DSL_DRV_PM_CONTEXT(pContext)->pmNeMutex); |
||
22 | + sema_init(&(DSL_DRV_PM_CONTEXT(pContext)->pmNeMutex),1); |
||
23 | /* init PM module direction Far-End mutex */ |
||
24 | - DSL_DRV_MUTEX_INIT(DSL_DRV_PM_CONTEXT(pContext)->pmFeMutex); |
||
25 | + sema_init(&(DSL_DRV_PM_CONTEXT(pContext)->pmFeMutex),1); |
||
26 | /* init PM module Near-End access mutex */ |
||
27 | DSL_DRV_MUTEX_INIT(DSL_DRV_PM_CONTEXT(pContext)->pmNeAccessMutex); |
||
28 | /* init PM module Far-End access mutex */ |
||
29 | @@ -592,7 +592,7 @@ DSL_Error_t DSL_DRV_PM_Stop( |
||
30 | if( DSL_DRV_PM_CONTEXT(pContext)->pmThreadFe.bRun != DSL_TRUE ) |
||
31 | { |
||
32 | DSL_DEBUG(DSL_DBG_WRN, |
||
33 | - (pContext, SYS_DBG_WRN"DSL[%02d]: PM module Near-End thread already stopped" |
||
34 | + (pContext, SYS_DBG_WRN"DSL[%02d]: PM module Far-End thread already stopped" |
||
35 | DSL_DRV_CRLF, DSL_DEV_NUM(pContext))); |
||
36 | } |
||
37 | else |
||
38 | --- a/src/pm/drv_dsl_cpe_pm_core.c |
||
39 | +++ b/src/pm/drv_dsl_cpe_pm_core.c |
||
40 | @@ -1022,7 +1022,7 @@ DSL_Error_t DSL_DRV_PM_DirectionMutexCon |
||
41 | { |
||
42 | if( bLock ) |
||
43 | { |
||
44 | - if( DSL_DRV_MUTEX_LOCK(DSL_DRV_PM_CONTEXT(pContext)->pmNeMutex) ) |
||
45 | + if(down_interruptible(&(DSL_DRV_PM_CONTEXT(pContext)->pmNeMutex))) |
||
46 | { |
||
47 | DSL_DEBUG( DSL_DBG_ERR, |
||
48 | (pContext, SYS_DBG_ERR"DSL[%02d]: ERROR - Couldn't lock PM NE mutex!" |
||
49 | @@ -1034,14 +1034,14 @@ DSL_Error_t DSL_DRV_PM_DirectionMutexCon |
||
50 | else |
||
51 | { |
||
52 | /* Unlock PM module NE Mutex*/ |
||
53 | - DSL_DRV_MUTEX_UNLOCK(DSL_DRV_PM_CONTEXT(pContext)->pmNeMutex); |
||
54 | + up(&(DSL_DRV_PM_CONTEXT(pContext)->pmNeMutex)); |
||
55 | } |
||
56 | } |
||
57 | else |
||
58 | { |
||
59 | if( bLock ) |
||
60 | { |
||
61 | - if( DSL_DRV_MUTEX_LOCK(DSL_DRV_PM_CONTEXT(pContext)->pmFeMutex) ) |
||
62 | + if(down_interruptible(&(DSL_DRV_PM_CONTEXT(pContext)->pmFeMutex))) |
||
63 | { |
||
64 | DSL_DEBUG( DSL_DBG_ERR, |
||
65 | (pContext, SYS_DBG_ERR"DSL[%02d]: ERROR - Couldn't lock PM FE mutex!" |
||
66 | @@ -1053,7 +1053,7 @@ DSL_Error_t DSL_DRV_PM_DirectionMutexCon |
||
67 | else |
||
68 | { |
||
69 | /* Unlock PM module FE Mutex*/ |
||
70 | - DSL_DRV_MUTEX_UNLOCK(DSL_DRV_PM_CONTEXT(pContext)->pmFeMutex); |
||
71 | + up(&(DSL_DRV_PM_CONTEXT(pContext)->pmFeMutex)); |
||
72 | } |
||
73 | } |
||
74 | |||
75 | @@ -1139,7 +1139,7 @@ DSL_Error_t DSL_DRV_PM_Lock(DSL_Context_ |
||
76 | if( !(DSL_DRV_PM_CONTEXT(pContext)->bPmLock) ) |
||
77 | { |
||
78 | /* Lock PM module Near-End Mutex*/ |
||
79 | - if( DSL_DRV_MUTEX_LOCK(DSL_DRV_PM_CONTEXT(pContext)->pmNeMutex) ) |
||
80 | + if(down_interruptible(&(DSL_DRV_PM_CONTEXT(pContext)->pmNeMutex))) |
||
81 | { |
||
82 | DSL_DEBUG( DSL_DBG_ERR, |
||
83 | (pContext, SYS_DBG_ERR"DSL[%02d]: ERROR - Couldn't lock PM NE mutex!" |
||
84 | @@ -1148,8 +1148,8 @@ DSL_Error_t DSL_DRV_PM_Lock(DSL_Context_ |
||
85 | return DSL_ERR_SEMAPHORE_GET; |
||
86 | } |
||
87 | |||
88 | - /* Lock PM module Near-End Mutex*/ |
||
89 | - if( DSL_DRV_MUTEX_LOCK(DSL_DRV_PM_CONTEXT(pContext)->pmFeMutex) ) |
||
90 | + /* Lock PM module Far-End Mutex*/ |
||
91 | + if( down_interruptible(&(DSL_DRV_PM_CONTEXT(pContext)->pmFeMutex)) ) |
||
92 | { |
||
93 | DSL_DEBUG( DSL_DBG_ERR, |
||
94 | (pContext, SYS_DBG_ERR"DSL[%02d]: ERROR - Couldn't lock PM FE mutex!" |
||
95 | @@ -1193,10 +1193,10 @@ DSL_Error_t DSL_DRV_PM_UnLock(DSL_Contex |
||
96 | if( DSL_DRV_PM_CONTEXT(pContext)->bPmLock ) |
||
97 | { |
||
98 | /* Unlock PM module NE Mutex*/ |
||
99 | - DSL_DRV_MUTEX_UNLOCK(DSL_DRV_PM_CONTEXT(pContext)->pmNeMutex); |
||
100 | + up(&(DSL_DRV_PM_CONTEXT(pContext)->pmNeMutex)); |
||
101 | |||
102 | /* Unlock PM module FE Mutex*/ |
||
103 | - DSL_DRV_MUTEX_UNLOCK(DSL_DRV_PM_CONTEXT(pContext)->pmFeMutex); |
||
104 | + up(&(DSL_DRV_PM_CONTEXT(pContext)->pmFeMutex)); |
||
105 | |||
106 | /* Clear bPmLock flag*/ |
||
107 | DSL_DRV_PM_CONTEXT(pContext)->bPmLock = DSL_FALSE; |