mirror of
https://github.com/ipxe/ipxe
synced 2025-12-24 15:23:42 +03:00
[efi] Fix error handling path in efi_snp_probe
Current (simplified):
1. InstallMultipleProtocolInterfaces
if err goto err_install_protocol_interface;
2. OpenProtocol(efi_nii_protocol_guid)
if err goto err_open_nii;
3. OpenProtocol(efi_nii31_protocol_guid)
if err goto err_open_nii31;
4. efi_child_add
if err goto err_efi_child_add;
...
err_efi_child_add:
CloseProtocol(efi_nii_protocol_guid) <= should be efi_nii31_protocol_guid
err_open_nii: <= should be err_open_nii31
CloseProtocol(efi_nii31_protocol_guid) <= should be efi_nii_protocol_guid
err_open_nii31: <= should be err_open_nii
UninstallMultipleProtocolInterfaces
Signed-off-by: Ignat Korchagin <ignat@cloudflare.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
committed by
Michael Brown
parent
ba0d5aa993
commit
e226fecd1b
@@ -1829,12 +1829,12 @@ static int efi_snp_probe ( struct net_device *netdev ) {
|
||||
efi_snp_hii_uninstall ( snpdev );
|
||||
efi_child_del ( efidev->device, snpdev->handle );
|
||||
err_efi_child_add:
|
||||
bs->CloseProtocol ( snpdev->handle, &efi_nii_protocol_guid,
|
||||
efi_image_handle, snpdev->handle );
|
||||
err_open_nii:
|
||||
bs->CloseProtocol ( snpdev->handle, &efi_nii31_protocol_guid,
|
||||
efi_image_handle, snpdev->handle );
|
||||
err_open_nii31:
|
||||
bs->CloseProtocol ( snpdev->handle, &efi_nii_protocol_guid,
|
||||
efi_image_handle, snpdev->handle );
|
||||
err_open_nii:
|
||||
bs->UninstallMultipleProtocolInterfaces (
|
||||
snpdev->handle,
|
||||
&efi_simple_network_protocol_guid, &snpdev->snp,
|
||||
|
||||
Reference in New Issue
Block a user