|
@@ -850,8 +850,8 @@ static void hvsi_flush_output(struct hvsi_struct *hp)
|
|
|
wait_event_timeout(hp->emptyq, (hp->n_outbuf <= 0), HVSI_TIMEOUT);
|
|
|
|
|
|
/* 'writer' could still be pending if it didn't see n_outbuf = 0 yet */
|
|
|
- cancel_delayed_work(&hp->writer);
|
|
|
- flush_scheduled_work();
|
|
|
+ cancel_delayed_work_sync(&hp->writer);
|
|
|
+ flush_work_sync(&hp->handshaker);
|
|
|
|
|
|
/*
|
|
|
* it's also possible that our timeout expired and hvsi_write_worker
|