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

Andrew Fish <afish@...>

On Jul 30, 2020, at 5:23 AM, Laszlo Ersek <lersek@...> wrote:


On 07/27/20 11:57, UdayS via wrote:
Hi All,
SW Revision updates to my Option Rom/Driver is handled properly during the EntryPoint i.e., using component name to get the revision info and if existing version is older than current, then UninstallMultipleProtocolInterfaces and unloadImage.
What protocols are being uninstalled, and what driver is being unloaded? If you return an error from your driver it will get unloaded.

I don’t understand the combination of gBS->UnloadIMage() and UninstallMultipleProtocolInterfaces()? The unload function in the driver should do all the work? You would use UninstallMultipleProtocolInterfaces() on your protocols prior to error exiting. If you driver returns an error it gets unloaded.

Maybe there is a bug in the Unload function. Is the Unload function disconnecting other drivers off its handle properly?

This seem to work in UEFI 2.3.1 but when I test the same SW in UEFI 2.4 based system, it goes for a hang.
I have been banging my around this for last couple for days and now I am in need of some expert advice.
All suggestions are welcome..
Andrew, do you recall changes related to driver dispatch between 2.3.1
and 2.4? Not necessarily in the spec, but maybe in edk2.
I don’t recall any changes in spec or edk2.


Andrew Fish


Join { to automatically receive all group messages.