summaryrefslogtreecommitdiffstats
path: root/drivers/staging/greybus
diff options
context:
space:
mode:
authorJohan Hovold <johan@hovoldconsulting.com>2015-12-03 17:29:00 +0100
committerGreg Kroah-Hartman <gregkh@google.com>2015-12-03 15:38:54 -0800
commit1cacb456fd6b5fd99f0274bef2b2d04b5f259392 (patch)
tree730ed7df0b32628574bd03559cfbd3cb9bea12ab /drivers/staging/greybus
parent8e1d6c336d74977403b0d7ca81e1e9a098518ff0 (diff)
downloadop-kernel-dev-1cacb456fd6b5fd99f0274bef2b2d04b5f259392.zip
op-kernel-dev-1cacb456fd6b5fd99f0274bef2b2d04b5f259392.tar.gz
greybus: svc: flush workqueue at connection exit
Make sure to flush the workqueue from hotplug and hotunplug events when the svc connection is tore down. Signed-off-by: Johan Hovold <johan@hovoldconsulting.com> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus')
-rw-r--r--drivers/staging/greybus/svc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/staging/greybus/svc.c b/drivers/staging/greybus/svc.c
index af41e8e4..f65aba6 100644
--- a/drivers/staging/greybus/svc.c
+++ b/drivers/staging/greybus/svc.c
@@ -709,6 +709,8 @@ static void gb_svc_connection_exit(struct gb_connection *connection)
if (device_is_registered(&svc->dev))
device_del(&svc->dev);
+ flush_workqueue(svc->wq);
+
connection->hd->svc = NULL;
connection->private = NULL;
OpenPOWER on IntegriCloud