The test on xendev->gnttabdev in con_disconnect is wrong: what differentiates the consoles is the dev number.
Signed-off-by: Stefano Stabellini <stefano.stabell...@eu.citrix.com> diff --git a/hw/xen_console.c b/hw/xen_console.c index d7099c4..0a2374c 100644 --- a/hw/xen_console.c +++ b/hw/xen_console.c @@ -258,7 +258,7 @@ static void con_disconnect(struct XenDevice *xendev) xen_be_unbind_evtchn(&con->xendev); if (con->sring) { - if (!xendev->gnttabdev) + if (!xendev->dev) munmap(con->sring, XC_PAGE_SIZE); else xc_gnttab_munmap(xendev->gnttabdev, con->sring, 1);