david/ipxe
Archived
1
0

[efi] Fix order of events on SNP removal path

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown 2015-09-01 21:22:39 +01:00
parent 9869ee5125
commit 226d5f2caf

View File

@ -1101,6 +1101,7 @@ static int efi_snp_probe ( struct net_device *netdev ) {
snpdev, netdev->name, efi_handle_name ( snpdev->handle ) ); snpdev, netdev->name, efi_handle_name ( snpdev->handle ) );
return 0; return 0;
list_del ( &snpdev->list );
if ( snpdev->package_list ) if ( snpdev->package_list )
efi_snp_hii_uninstall ( snpdev ); efi_snp_hii_uninstall ( snpdev );
efi_child_del ( efidev->device, snpdev->handle ); efi_child_del ( efidev->device, snpdev->handle );
@ -1172,10 +1173,10 @@ static void efi_snp_remove ( struct net_device *netdev ) {
} }
/* Uninstall the SNP */ /* Uninstall the SNP */
list_del ( &snpdev->list );
if ( snpdev->package_list ) if ( snpdev->package_list )
efi_snp_hii_uninstall ( snpdev ); efi_snp_hii_uninstall ( snpdev );
efi_child_del ( snpdev->efidev->device, snpdev->handle ); efi_child_del ( snpdev->efidev->device, snpdev->handle );
list_del ( &snpdev->list );
bs->UninstallMultipleProtocolInterfaces ( bs->UninstallMultipleProtocolInterfaces (
snpdev->handle, snpdev->handle,
&efi_simple_network_protocol_guid, &snpdev->snp, &efi_simple_network_protocol_guid, &snpdev->snp,