@@ -282,17 +282,13 @@ static enum task_state chain_task_run(void *data)
282282
283283static int chain_task_start (struct comp_dev * dev )
284284{
285- struct comp_driver_list * drivers = comp_drivers_get ();
286285 struct chain_dma_data * cd = comp_get_drvdata (dev );
287- k_spinlock_key_t key ;
288286 int ret ;
289287
290288 comp_info (dev , "host_dma_id = 0x%08x" , cd -> host_connector_node_id .dw );
291289
292- key = k_spin_lock (& drivers -> lock );
293290 switch (cd -> chain_task .state ) {
294291 case SOF_TASK_STATE_QUEUED :
295- k_spin_unlock (& drivers -> lock , key );
296292 return 0 ;
297293 case SOF_TASK_STATE_COMPLETED :
298294 break ;
@@ -302,27 +298,26 @@ static int chain_task_start(struct comp_dev *dev)
302298 break ;
303299 default :
304300 comp_err (dev , "bad state transition" );
305- ret = - EINVAL ;
306- goto error ;
301+ return - EINVAL ;
307302 }
308303
309304 if (cd -> stream_direction == SOF_IPC_STREAM_PLAYBACK ) {
310305 ret = chain_host_start (dev );
311306 if (ret )
312- goto error ;
307+ return ret ;
313308 ret = chain_link_start (dev );
314309 if (ret ) {
315310 chain_host_stop (dev );
316- goto error ;
311+ return ret ;
317312 }
318313 } else {
319314 ret = chain_link_start (dev );
320315 if (ret )
321- goto error ;
316+ return ret ;
322317 ret = chain_host_start (dev );
323318 if (ret ) {
324319 chain_link_stop (dev );
325- goto error ;
320+ return ret ;
326321 }
327322 }
328323
@@ -342,29 +337,24 @@ static int chain_task_start(struct comp_dev *dev)
342337 }
343338
344339 pm_policy_state_lock_get (PM_STATE_RUNTIME_IDLE , PM_ALL_SUBSTATES );
345- k_spin_unlock (& drivers -> lock , key );
346340
347341 return 0 ;
348342
349343error_task :
350344 chain_host_stop (dev );
351345 chain_link_stop (dev );
352- error :
353- k_spin_unlock (& drivers -> lock , key );
346+
354347 return ret ;
355348}
356349
357350static int chain_task_pause (struct comp_dev * dev )
358351{
359- struct comp_driver_list * drivers = comp_drivers_get ();
360352 struct chain_dma_data * cd = comp_get_drvdata (dev );
361- k_spinlock_key_t key ;
362353 int ret , ret2 ;
363354
364355 if (cd -> chain_task .state == SOF_TASK_STATE_FREE )
365356 return 0 ;
366357
367- key = k_spin_lock (& drivers -> lock );
368358 cd -> first_data_received = false;
369359 if (cd -> stream_direction == SOF_IPC_STREAM_PLAYBACK ) {
370360 ret = chain_host_stop (dev );
@@ -376,8 +366,6 @@ static int chain_task_pause(struct comp_dev *dev)
376366 if (!ret )
377367 ret = ret2 ;
378368
379- k_spin_unlock (& drivers -> lock , key );
380-
381369 schedule_task_free (& cd -> chain_task );
382370 pm_policy_state_lock_put (PM_STATE_RUNTIME_IDLE , PM_ALL_SUBSTATES );
383371
0 commit comments