diff options
author | Michael Brown | 2015-09-01 17:19:08 +0200 |
---|---|---|
committer | Michael Brown | 2015-09-01 22:04:45 +0200 |
commit | 9869ee512522ce7019f8042fbc05aa02a8f60bde (patch) | |
tree | e639cce03ac68206e8f1b5f50e7a003d71b37f20 /src/interface | |
parent | [tcpip] Allow supported address families to be detected at runtime (diff) | |
download | ipxe-9869ee512522ce7019f8042fbc05aa02a8f60bde.tar.gz ipxe-9869ee512522ce7019f8042fbc05aa02a8f60bde.tar.xz ipxe-9869ee512522ce7019f8042fbc05aa02a8f60bde.zip |
[efi] Allow calls to efi_snp_claim() and efi_snp_release() to be nested
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/interface')
-rw-r--r-- | src/interface/efi/efi_snp.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/interface/efi/efi_snp.c b/src/interface/efi/efi_snp.c index c2604580..b7debe7b 100644 --- a/src/interface/efi/efi_snp.c +++ b/src/interface/efi/efi_snp.c @@ -1231,15 +1231,16 @@ struct efi_snp_device * last_opened_snpdev ( void ) { } /** - * Set SNP claimed/released state + * Add to SNP claimed/released count * - * @v claimed Network devices are claimed for use by iPXE + * @v delta Claim count change */ -void efi_snp_set_claimed ( int claimed ) { +void efi_snp_add_claim ( int delta ) { struct efi_snp_device *snpdev; /* Claim SNP devices */ - efi_snp_claimed = claimed; + efi_snp_claimed += delta; + assert ( efi_snp_claimed >= 0 ); /* Update SNP mode state for each interface */ list_for_each_entry ( snpdev, &efi_snp_devices, list ) |