usb: gadget: ffs: ffs_aio_cancel(): Save/restore IRQ flags
authorLars-Peter Clausen <lars@metafoo.de>
Thu, 16 Jan 2020 13:29:01 +0000 (15:29 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 11 Mar 2020 13:14:49 +0000 (14:14 +0100)
commitec23941e27f94b6e0f641181f0c42baafc3cf2ac
tree0d8a9de297358325d445c19c7ba1391328cce636
parent5ecb93d7e696e34183f74a7e4b01811691f187f2
usb: gadget: ffs: ffs_aio_cancel(): Save/restore IRQ flags

[ Upstream commit 43d565727a3a6fd24e37c7c2116475106af71806 ]

ffs_aio_cancel() can be called from both interrupt and thread context. Make
sure that the current IRQ state is saved and restored by using
spin_{un,}lock_irq{save,restore}().

Otherwise undefined behavior might occur.

Acked-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/usb/gadget/function/f_fs.c