From: Laszlo Ersek Date: Fri, 13 May 2011 13:45:40 +0000 (-0400) Subject: xen/blkback: fix xenbus_transaction_start() hang caused by double xenbus_transaction_... X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=496b318eb65558c1a3a4fe882cb9da6d1dc6493a;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git xen/blkback: fix xenbus_transaction_start() hang caused by double xenbus_transaction_end() vbd_resize() up_read()'s xs_state.suspend_mutex twice in a row via double xenbus_transaction_end() calls. The next down_read() in xenbus_transaction_start() (at eg. the next resize attempt) hangs. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=618317 Acked-by: Jan Beulich Acked-by: Ian Campbell Signed-off-by: Laszlo Ersek Signed-off-by: Konrad Rzeszutek Wilk --- diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c index 9dee5454740f..dba55e3a4a86 100644 --- a/drivers/block/xen-blkback/blkback.c +++ b/drivers/block/xen-blkback/blkback.c @@ -226,6 +226,7 @@ again: goto again; if (err) pr_warn(DRV_PFX "Error ending transaction"); + return; abort: xenbus_transaction_end(xbt, 1); }