diff options
author | Anton Ivanov <anton.ivanov@cambridgegreys.com> | 2022-02-22 12:44:10 +0000 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2022-03-11 10:49:19 +0100 |
commit | 1a3a6a2a035bb6c3a7ef4c788d8fd69a7b2d6284 (patch) | |
tree | ef56cac371068e41c6bc28f5b6db739efc913c87 /arch/um | |
parent | f4f03f299a56ce4d73c5431e0327b3b6cb55ebb9 (diff) | |
download | linux-1a3a6a2a035bb6c3a7ef4c788d8fd69a7b2d6284.tar.bz2 |
um: Fix uml_mconsole stop/go
Moving to an EPOLL based IRQ controller broke uml_mconsole stop/go
commands. This fixes it and restores stop/go functionality.
Fixes: ff6a17989c08 ("Epoll based IRQ controller")
Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um')
-rw-r--r-- | arch/um/drivers/mconsole_kern.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/um/drivers/mconsole_kern.c b/arch/um/drivers/mconsole_kern.c index 6ead1e240457..8ca67a692683 100644 --- a/arch/um/drivers/mconsole_kern.c +++ b/arch/um/drivers/mconsole_kern.c @@ -224,7 +224,7 @@ void mconsole_go(struct mc_request *req) void mconsole_stop(struct mc_request *req) { - deactivate_fd(req->originating_fd, MCONSOLE_IRQ); + block_signals(); os_set_fd_block(req->originating_fd, 1); mconsole_reply(req, "stopped", 0, 0); for (;;) { @@ -247,6 +247,7 @@ void mconsole_stop(struct mc_request *req) } os_set_fd_block(req->originating_fd, 0); mconsole_reply(req, "", 0, 0); + unblock_signals(); } static DEFINE_SPINLOCK(mc_devices_lock); |