9 Apr
2018
9 Apr
'18
3:17 p.m.
On Mon, 09 Apr 2018 15:03:20 +0200, Jia-Ju Bai wrote:
snd_ad1889_init() is never called in atomic context.
The call chain ending up at snd_ad1889_init() is: [1] snd_ad1889_init() <- snd_ad1889_create() <- snd_ad1889_probe()
snd_ad1889_probe() is only set as ".probe" in struct pci_driver. This function is not called in atomic context.
Despite never getting called from atomic context, snd_ad1889_init() calls mdelay for busy wait. This is not necessary and can be replaced with usleep_range to avoid busy waiting.
This is found by a static analysis tool named DCNS written by myself.
Signed-off-by: Jia-Ju Bai baijiaju1990@gmail.com
Since it's no urgent fix, I'll postpone to 4.18.
thanks,
Takashi