]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
staging: gdm724x: gdm_usb: Remove create_workqueue()
authorAmitoj Kaur Chawla <amitoj1606@gmail.com>
Sun, 28 Feb 2016 14:24:41 +0000 (19:54 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Mar 2016 22:48:04 +0000 (14:48 -0800)
commitbd743442237226ae2a5bf3bd4d7edce71f66788e
tree81c51f512b6eccb4411f21ba5d6ccecdbfa3f774
parenta7df59ece7f845dffb354aae8318a30e7650034c
staging: gdm724x: gdm_usb: Remove create_workqueue()

With concurrency managed workqueues, use of dedicated workqueues
can be replaced by using system_wq. Drop usb_tx_wq and usb_rx_wq
by using system_wq.

Since there are multiple work items per udev but different udevs
do not need to be ordered, increase of concurrency level by
switching to system_wq should not break anything.

cancel_work_sync() is used to ensure that work is not pending or
executing on any CPU.

Lastly, since all devices are suspended, which shutdowns the work
items before the driver can be unregistered, it is guaranteed
that no work item is pending or executing by the time exit path
runs.

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/gdm724x/gdm_usb.c