From: Jeremy Fitzhardinge Make sure everything is backed out if it fails. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andrew Morton --- arch/i386/kernel/paravirt.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff -puN arch/i386/kernel/paravirt.c~paravirt-helper-to-disable-all-io-space-fix-2 arch/i386/kernel/paravirt.c --- a/arch/i386/kernel/paravirt.c~paravirt-helper-to-disable-all-io-space-fix-2 +++ a/arch/i386/kernel/paravirt.c @@ -254,8 +254,11 @@ int paravirt_disable_iospace(void) int ret; ret = request_resource(&ioport_resource, &reserve_ioports); - if (ret == 0) + if (ret == 0) { ret = request_resource(&iomem_resource, &reserve_iomem); + if (ret) + release_resource(&reserve_ioports); + } return ret; } _