diff options
| author | Heinrich Schuchardt <[email protected]> | 2019-06-01 20:15:10 +0200 |
|---|---|---|
| committer | Heinrich Schuchardt <[email protected]> | 2019-06-01 22:40:23 +0200 |
| commit | b4863baa68dd589092a9823f8c0bc513c24dc3a3 (patch) | |
| tree | aa53fbe133b617394ebb8793bbca8393e84b5662 /lib | |
| parent | 755d42d4209eda07836b256730e8686c37b18939 (diff) | |
efi_loader: open protocol information
When a protocol is opened the open protocol information must be updated.
The key fields of the open protocol information records are ImageHandle,
ControllerHandle, and Attributes.
Consider the Attributes field when determining if an open protocol
information record has to be updated or a new one has to be created.
Signed-off-by: Heinrich Schuchardt <[email protected]>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/efi_loader/efi_boottime.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c index 481f9b9d3e7..1a0e09807ac 100644 --- a/lib/efi_loader/efi_boottime.c +++ b/lib/efi_loader/efi_boottime.c @@ -2684,7 +2684,8 @@ disconnect_next: /* Find existing entry */ list_for_each_entry(item, &handler->open_infos, link) { if (item->info.agent_handle == agent_handle && - item->info.controller_handle == controller_handle) + item->info.controller_handle == controller_handle && + item->info.attributes == attributes) match = &item->info; } /* None found, create one */ |
