On Thu, Jun 06, 2013 at 12:47:35PM +0100, Jan Beulich wrote: > >>> On 05.06.13 at 19:35, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> wrote: > > @@ -230,6 +231,7 @@ static int xen_blkif_map(struct xen_blkif *blkif, unsigned long shared_page, > > static void xen_blkif_disconnect(struct xen_blkif *blkif) > > { > > if (blkif->xenblkd) { > > + wake_up(&blkif->shutdown_wq); > > kthread_stop(blkif->xenblkd); > > blkif->xenblkd = NULL; > > } > > Btw., wouldn't the wake_up() better be done after the kthread_stop(), > so that when the corresponding wait_event_interruptible() checks > whether to exit the terminating kthread_should_stop() is guaranteed > to evaluate to true (otherwise I think there's potential for it to never > exit)? I think you are right. I did the change and the tests were OK. > > Jan > -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html