@@ -284,15 +284,12 @@ static int chain_task_start(struct comp_dev *dev)
284284{
285285 struct comp_driver_list * drivers = comp_drivers_get ();
286286 struct chain_dma_data * cd = comp_get_drvdata (dev );
287- k_spinlock_key_t key ;
288287 int ret ;
289288
290289 comp_info (dev , "host_dma_id = 0x%08x" , cd -> host_connector_node_id .dw );
291290
292- key = k_spin_lock (& drivers -> lock );
293291 switch (cd -> chain_task .state ) {
294292 case SOF_TASK_STATE_QUEUED :
295- k_spin_unlock (& drivers -> lock , key );
296293 return 0 ;
297294 case SOF_TASK_STATE_COMPLETED :
298295 break ;
@@ -302,27 +299,26 @@ static int chain_task_start(struct comp_dev *dev)
302299 break ;
303300 default :
304301 comp_err (dev , "bad state transition" );
305- ret = - EINVAL ;
306- goto error ;
302+ return - EINVAL ;
307303 }
308304
309305 if (cd -> stream_direction == SOF_IPC_STREAM_PLAYBACK ) {
310306 ret = chain_host_start (dev );
311307 if (ret )
312- goto error ;
308+ return ret ;
313309 ret = chain_link_start (dev );
314310 if (ret ) {
315311 chain_host_stop (dev );
316- goto error ;
312+ return ret ;
317313 }
318314 } else {
319315 ret = chain_link_start (dev );
320316 if (ret )
321- goto error ;
317+ return ret ;
322318 ret = chain_host_start (dev );
323319 if (ret ) {
324320 chain_link_stop (dev );
325- goto error ;
321+ return ret ;
326322 }
327323 }
328324
@@ -342,29 +338,25 @@ static int chain_task_start(struct comp_dev *dev)
342338 }
343339
344340 pm_policy_state_lock_get (PM_STATE_RUNTIME_IDLE , PM_ALL_SUBSTATES );
345- k_spin_unlock (& drivers -> lock , key );
346341
347342 return 0 ;
348343
349344error_task :
350345 chain_host_stop (dev );
351346 chain_link_stop (dev );
352- error :
353- k_spin_unlock (& drivers -> lock , key );
347+
354348 return ret ;
355349}
356350
357351static int chain_task_pause (struct comp_dev * dev )
358352{
359353 struct comp_driver_list * drivers = comp_drivers_get ();
360354 struct chain_dma_data * cd = comp_get_drvdata (dev );
361- k_spinlock_key_t key ;
362355 int ret , ret2 ;
363356
364357 if (cd -> chain_task .state == SOF_TASK_STATE_FREE )
365358 return 0 ;
366359
367- key = k_spin_lock (& drivers -> lock );
368360 cd -> first_data_received = false;
369361 if (cd -> stream_direction == SOF_IPC_STREAM_PLAYBACK ) {
370362 ret = chain_host_stop (dev );
@@ -376,8 +368,6 @@ static int chain_task_pause(struct comp_dev *dev)
376368 if (!ret )
377369 ret = ret2 ;
378370
379- k_spin_unlock (& drivers -> lock , key );
380-
381371 schedule_task_free (& cd -> chain_task );
382372 pm_policy_state_lock_put (PM_STATE_RUNTIME_IDLE , PM_ALL_SUBSTATES );
383373
0 commit comments