[HAL] Return correct bus handler in HaliFindBusAddressTranslation
authorStanislav Motylkov <x86corez@gmail.com>
Sun, 1 Sep 2019 10:04:15 +0000 (13:04 +0300)
committerHermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Sun, 1 Sep 2019 14:37:56 +0000 (16:37 +0200)
This fixes the bug when VidInitialize asks for different translated addresses
and VgaIsPresent always returns FALSE either because the machine does not have
VGA controller at all (e.g. 86Duino Zero), or it does have video hardware
that is not compatible with VGA standard (e.g. Original Xbox).

The problem investigated by Stanislav Motylkov. Suggested fix by Thomas Faber.

CORE-14625 CORE-16216 CORE-16222

Co-authored-by: Thomas Faber <thomas.faber@reactos.org>
hal/halx86/legacy/bussupp.c

index 7fff59f..b8a7cb8 100644 (file)
@@ -1319,7 +1319,7 @@ HaliFindBusAddressTranslation(IN PHYSICAL_ADDRESS BusAddress,
         }
 
         /* If we made it, we're done */
-        *Context = (ULONG_PTR)Handler;
+        *Context = (ULONG_PTR)&BusHandler->Handler;
         return TRUE;
     }