]> git.baikalelectronics.ru Git - kernel.git/commit
UAS: fix deadlock in error handling and PM flushing work
authorOliver Neukum <oneukum@suse.com>
Wed, 15 Apr 2020 14:17:50 +0000 (16:17 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Apr 2020 12:59:48 +0000 (14:59 +0200)
commit8f2dfafb81f42b7e93221fbad0d277d50ecd5a3b
treec82c00190b727efc03aa224facd0de50e5a5046a
parentcf7de63428f030bfc99f5021c6c69f1e0ed3b47d
UAS: fix deadlock in error handling and PM flushing work

A SCSI error handler and block runtime PM must not allocate
memory with GFP_KERNEL. Furthermore they must not wait for
tasks allocating memory with GFP_KERNEL.
That means that they cannot share a workqueue with arbitrary tasks.

Fix this for UAS using a private workqueue.

Signed-off-by: Oliver Neukum <oneukum@suse.com>
Fixes: 93b587bae8475 ("uas: pre_reset and suspend: Fix a few races")
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200415141750.811-2-oneukum@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/storage/uas.c