From: Michael Brown Date: Tue, 1 Sep 2015 20:22:39 +0000 (+0100) Subject: [efi] Fix order of events on SNP removal path X-Git-Tag: v1.20.1~709 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=226d5f2cafc258b979c090b19503eafa77c9a1a2;p=thirdparty%2Fipxe.git [efi] Fix order of events on SNP removal path Signed-off-by: Michael Brown --- diff --git a/src/interface/efi/efi_snp.c b/src/interface/efi/efi_snp.c index b7debe7b0..671238491 100644 --- a/src/interface/efi/efi_snp.c +++ b/src/interface/efi/efi_snp.c @@ -1101,6 +1101,7 @@ static int efi_snp_probe ( struct net_device *netdev ) { snpdev, netdev->name, efi_handle_name ( snpdev->handle ) ); return 0; + list_del ( &snpdev->list ); if ( snpdev->package_list ) efi_snp_hii_uninstall ( snpdev ); efi_child_del ( efidev->device, snpdev->handle ); @@ -1172,10 +1173,10 @@ static void efi_snp_remove ( struct net_device *netdev ) { } /* Uninstall the SNP */ + list_del ( &snpdev->list ); if ( snpdev->package_list ) efi_snp_hii_uninstall ( snpdev ); efi_child_del ( snpdev->efidev->device, snpdev->handle ); - list_del ( &snpdev->list ); bs->UninstallMultipleProtocolInterfaces ( snpdev->handle, &efi_simple_network_protocol_guid, &snpdev->snp,