ASoC: intel: Replace kthread with work
The usage pattern of kthread worker in Intel SST drivers can be replaced gracefully with the normal workqueue, which is more light- weight and easier to manage in general. Let's do it. While in the replacement, move the schedule_work() call inside the spinlock for excluding the race, too. Signed-off-by: Takashi Iwai <tiwai@suse.de> Acked-by: Vinod Koul <vinod.koul@intel.com> Tested-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Bu işleme şunda yer alıyor:

işlemeyi yapan:
Mark Brown

ebeveyn
91197a9230
işleme
786e1c3719
@@ -23,7 +23,6 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/kthread.h>
|
||||
#include <linux/firmware.h>
|
||||
#include <linux/io.h>
|
||||
#include <asm/div64.h>
|
||||
@@ -338,7 +337,7 @@ static irqreturn_t sst_byt_irq_thread(int irq, void *context)
|
||||
spin_unlock_irqrestore(&sst->spinlock, flags);
|
||||
|
||||
/* continue to send any remaining messages... */
|
||||
kthread_queue_work(&ipc->kworker, &ipc->kwork);
|
||||
schedule_work(&ipc->kwork);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
Yeni konuda referans
Bir kullanıcı engelle