[PATCH] ASoC: intel: atom: Remove superfluous flush_scheduled_work()

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Tue Mar 22 17:06:54 CET 2022



On 3/22/22 10:57, Pierre-Louis Bossart wrote:
> 
> 
> On 3/22/22 10:48, Takashi Iwai wrote:
>> It seems that flush_scheduled_work() is called without any real
>> purpose at sst_context_cleanup() (the driver doesn't put works on the
>> global queue at all).  As the flush_schedule_work() function is going
>> to be abolished in near future, let's drop it now.
>>
>> Cc: Tetsuo Handa <penguin-kernel at I-love.SAKURA.ne.jp>
>> Signed-off-by: Takashi Iwai <tiwai at suse.de>
>> ---
>>   sound/soc/intel/atom/sst/sst.c | 1 -
>>   1 file changed, 1 deletion(-)
>>
>> diff --git a/sound/soc/intel/atom/sst/sst.c 
>> b/sound/soc/intel/atom/sst/sst.c
>> index e21e11dac000..3a42d68c0247 100644
>> --- a/sound/soc/intel/atom/sst/sst.c
>> +++ b/sound/soc/intel/atom/sst/sst.c
>> @@ -360,7 +360,6 @@ void sst_context_cleanup(struct intel_sst_drv *ctx)
>>       sst_unregister(ctx->dev);
>>       sst_set_fw_state_locked(ctx, SST_SHUTDOWN);
>>       sysfs_remove_group(&ctx->dev->kobj, &sst_fw_version_attr_group);
>> -    flush_scheduled_work(); >       destroy_workqueue(ctx->post_msg_wq);
> 
> It could also be a confusion, there are calls to
> 
> flush_workqueue(ctx->post_msg_wq);
> 
> for suspend-resume, so wondering if the right sequence could be
> 
> flush_workqueue(ctx->post_msg_wq);
> destroy_workqueue(ctx->post_msg_wq);
> 
> ?

Never mind, answering to my own question, destroy_workqueue() calls 
drain_workqueue() which calls flush_workqueue() internally

Acked-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>

> 
>>       cpu_latency_qos_remove_request(ctx->qos);
>>       kfree(ctx->fw_sg_list.src);


More information about the Alsa-devel mailing list