OptionROM driver update failing in UEFI 2.4 but works on UEFI 2.3.1


udai sharma <udai16787@...>
 

Hi Team,
I have developed a UEFI Bus Driver, loaded it as an PCI Option ROM on PCI adapter.

Issue I am facing is with the during version updates.
In DriverSupported, SW update logic present looks for existing driver using componentname, gets its
version number and compares with the version number of current driver. If Current driver version is
better, UninstallMultipleProtocolInterfaces and UnloadImage using the HandleBuffer[index]. After
unload, EfiLibInstallAllDriverProtocols on new image handle and InstallMultipleProtocolInterfaces for
other protocols.

This update logic seem to work fine on 2.3.1 based system, but when I tested the same on 2.4 system, it
goes for a hang.

Steps followed to verify from Shell:
1. 'loadpcirom MyRom.rom' with version 1.0.
2. verify the 'dh '
3. Now try to upgrade image, 'loadpcirom MyRom.rom' with version 2.0. UnloadImage, because it is already present in the SW update logic.>
4. At this point I see DriverSupported and DriverStart logic getting called. But after that system goes
for a hang.

I am unable to figure where is the issue. Can you please guide me here.

Thanks in advance.
-US

Join discuss@edk2.groups.io to automatically receive all group messages.