MdeModulePkg/Core: Signal notify events on protocol removal
In order for BootManager to maintain a valid list of boot options, it must know when the BlockIo protocol is also removed, not just added.
This commit is contained in:
@@ -67,6 +67,10 @@ CoreRemoveInterfaceFromProtocol (
|
|||||||
for (Link = ProtEntry->Notify.ForwardLink; Link != &ProtEntry->Notify; Link = Link->ForwardLink) {
|
for (Link = ProtEntry->Notify.ForwardLink; Link != &ProtEntry->Notify; Link = Link->ForwardLink) {
|
||||||
ProtNotify = CR (Link, PROTOCOL_NOTIFY, Link, PROTOCOL_NOTIFY_SIGNATURE);
|
ProtNotify = CR (Link, PROTOCOL_NOTIFY, Link, PROTOCOL_NOTIFY_SIGNATURE);
|
||||||
|
|
||||||
|
// Signal notify events before removing the protocol too.
|
||||||
|
// XXX: What effect does this have on other code?
|
||||||
|
CoreSignalEvent (ProtNotify->Event);
|
||||||
|
|
||||||
if (ProtNotify->Position == &Prot->ByProtocol) {
|
if (ProtNotify->Position == &Prot->ByProtocol) {
|
||||||
ProtNotify->Position = Prot->ByProtocol.BackLink;
|
ProtNotify->Position = Prot->ByProtocol.BackLink;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user