[PATCH] spi: destroy workqueue after spi_unregister_master
authorChris Lesiak <chris.lesiak@licor.com>
Fri, 16 Mar 2007 21:38:13 +0000 (13:38 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sat, 17 Mar 2007 02:25:04 +0000 (19:25 -0700)
commita836f5856ae46ccb2464ea76031ea05ae967b832
treeeb0153e3b91381840d478d3e8c5b021dc12b92f9
parent65b8291c4000e5f38fc94fb2ca0cb7e8683c8a1b
[PATCH] spi: destroy workqueue after spi_unregister_master

Fix a bug in the cleanup of an spi_bitbang bus.

The workqueue associated with the bus was destroyed before the call to
spi_unregister_master.  That meant that spi devices on that bus would be
unable to do IO in their remove method.  The shutdown flag should have been
able to prevent a segfault, but was never getting set.  By waiting to
destroy the workqueue until after the master is unregistered, devices are
able to do IO in their remove methods.  An added benefit is that neither
the shutdown flag nor a wait for the queue of messages to empty is needed.

Signed-off-by: Chris Lesiak <chris.lesiak@licor.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/spi/spi_bitbang.c
include/linux/spi/spi_bitbang.h