@@ -119,7 +119,7 @@ static void wps_rxq_deinit(void)
119119#ifdef USE_WPS_TASK
120120void wps_task (void * pvParameters )
121121{
122- ETSEvent * e ;
122+ ETSEvent e ;
123123 wps_ioctl_param_t * param ;
124124 bool del_task = false;
125125
@@ -129,32 +129,32 @@ void wps_task(void *pvParameters)
129129 for (;;) {
130130 if (TRUE == os_queue_recv (s_wps_queue , & e , OS_BLOCK )) {
131131
132- if ((e -> sig >= SIG_WPS_ENABLE ) && (e -> sig < SIG_WPS_NUM )) {
132+ if ((e . sig >= SIG_WPS_ENABLE ) && (e . sig < SIG_WPS_NUM )) {
133133 DATA_MUTEX_TAKE ();
134- if (s_wps_sig_cnt [e -> sig ]) {
135- s_wps_sig_cnt [e -> sig ]-- ;
134+ if (s_wps_sig_cnt [e . sig ]) {
135+ s_wps_sig_cnt [e . sig ]-- ;
136136 } else {
137- wpa_printf (MSG_ERROR , "wpsT: invalid sig cnt, sig=%" PRId32 " cnt=%d" , e -> sig , s_wps_sig_cnt [e -> sig ]);
137+ wpa_printf (MSG_ERROR , "wpsT: invalid sig cnt, sig=%" PRId32 " cnt=%d" , e . sig , s_wps_sig_cnt [e . sig ]);
138138 }
139139 DATA_MUTEX_GIVE ();
140140 }
141141
142- wpa_printf (MSG_DEBUG , "wpsT: rx sig=%" PRId32 "" , e -> sig );
142+ wpa_printf (MSG_DEBUG , "wpsT: rx sig=%" PRId32 "" , e . sig );
143143
144- switch (e -> sig ) {
144+ switch (e . sig ) {
145145 case SIG_WPS_ENABLE :
146146 case SIG_WPS_DISABLE :
147147 case SIG_WPS_START :
148- param = (wps_ioctl_param_t * )e -> par ;
148+ param = (wps_ioctl_param_t * )e . par ;
149149 if (!param ) {
150- wpa_printf (MSG_ERROR , "wpsT: invalid param sig=%" PRId32 "" , e -> sig );
150+ wpa_printf (MSG_ERROR , "wpsT: invalid param sig=%" PRId32 "" , e . sig );
151151 os_semphr_give (s_wps_api_sem );
152152 break ;
153153 }
154154
155- if (e -> sig == SIG_WPS_ENABLE ) {
155+ if (e . sig == SIG_WPS_ENABLE ) {
156156 param -> ret = wifi_wps_enable_internal ((esp_wps_config_t * )(param -> arg ));
157- } else if (e -> sig == SIG_WPS_DISABLE ) {
157+ } else if (e . sig == SIG_WPS_DISABLE ) {
158158 DATA_MUTEX_TAKE ();
159159 param -> ret = wifi_wps_disable_internal ();
160160 del_task = true;
@@ -198,10 +198,9 @@ void wps_task(void *pvParameters)
198198 break ;
199199
200200 default :
201- wpa_printf (MSG_ERROR , "wpsT: invalid sig=%" PRId32 "" , e -> sig );
201+ wpa_printf (MSG_ERROR , "wpsT: invalid sig=%" PRId32 "" , e . sig );
202202 break ;
203203 }
204- os_free (e );
205204
206205 if (del_task ) {
207206 wpa_printf (MSG_DEBUG , "wpsT: delete task" );
@@ -218,39 +217,30 @@ void wps_task(void *pvParameters)
218217int wps_post (uint32_t sig , uint32_t par )
219218{
220219 wpa_printf (MSG_DEBUG , "wps post: sig=%" PRId32 " cnt=%d" , sig , s_wps_sig_cnt [sig ]);
221-
222- DATA_MUTEX_TAKE ();
220+ ETSEvent evt ;
223221
224222 if (!s_wps_task_hdl ) {
225223 wpa_printf (MSG_DEBUG , "wps post: sig=%" PRId32 " failed as wps task has been deinited" , sig );
226- DATA_MUTEX_GIVE ();
227224 return ESP_FAIL ;
228225 }
226+ DATA_MUTEX_TAKE ();
229227 if (s_wps_sig_cnt [sig ]) {
230228 wpa_printf (MSG_DEBUG , "wps post: sig=%" PRId32 " processing" , sig );
231229 DATA_MUTEX_GIVE ();
232230 return ESP_OK ;
233- } else {
234- ETSEvent * evt = (ETSEvent * )os_malloc (sizeof (ETSEvent ));
231+ }
235232
236- if (evt == NULL ) {
237- wpa_printf (MSG_ERROR , "WPS: E N M" );
238- DATA_MUTEX_GIVE ();
239- return ESP_FAIL ;
240- }
233+ s_wps_sig_cnt [sig ]++ ;
234+ evt .sig = sig ;
235+ evt .par = par ;
236+ DATA_MUTEX_GIVE ();
241237
242- s_wps_sig_cnt [sig ]++ ;
243- evt -> sig = sig ;
244- evt -> par = par ;
238+ if (os_queue_send (s_wps_queue , & evt , os_task_ms_to_tick (10 )) != TRUE) {
239+ wpa_printf (MSG_ERROR , "WPS: Q S E" );
240+ DATA_MUTEX_TAKE ();
241+ s_wps_sig_cnt [sig ]-- ;
245242 DATA_MUTEX_GIVE ();
246-
247- if (os_queue_send (s_wps_queue , & evt , os_task_ms_to_tick (10 )) != TRUE) {
248- wpa_printf (MSG_ERROR , "WPS: Q S E" );
249- DATA_MUTEX_TAKE ();
250- s_wps_sig_cnt [sig ]-- ;
251- DATA_MUTEX_GIVE ();
252- return ESP_FAIL ;
253- }
243+ return ESP_FAIL ;
254244 }
255245 return ESP_OK ;
256246}
0 commit comments