david/ipxe
Archived
1
0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src
Michael Brown f450c75dad [interface] Unplug interface before calling intf_close() in intf_shutdown()
The call to intf_close() may result in the original interface being
reopened.  For example: when reading the capacity of a 2TB+ disk via
iSCSI, the SCSI layer will respond to the intf_close() from the READ
CAPACITY (10) command by immediately issuing a READ CAPACITY (16)
command.  The iSCSI layer happens to reuse the same interface for the
new command (since it allows only a single concurrent command).

Currently, intf_shutdown() unplugs the interface after the call to
intf_close() returns.  In the above scenario, this results in
unplugging the just-reopened interface.

Fix by transferring the interface destination (and its reference) to a
temporary interface, and so effectively performing the unplug before
making the call to intf_close().

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2017-01-25 11:29:29 +00:00
..
arch [pic8259] Fix definitions for "read IRR" and "read ISR" commands 2017-01-25 07:37:04 +00:00
bin Rename .cvsignore files to .gitignore 2007-06-09 22:57:00 +01:00
config [cloud] Show CPU vendor and model in example cloud boot scripts 2017-01-24 13:47:03 +00:00
core [interface] Unplug interface before calling intf_close() in intf_shutdown() 2017-01-25 11:29:29 +00:00
crypto [crypto] Mark permanent certificates as permanent 2016-08-31 17:23:42 +01:00
doc [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
drivers [virtio] Use host-specified MTU when available 2017-01-23 16:32:54 +00:00
hci [cmdline] Add certificate management commands 2016-08-31 17:11:14 +01:00
image [crypto] Add PEM image format 2016-07-29 01:13:27 +01:00
include [netdevice] Allow MTU to be changed at runtime 2017-01-23 17:47:28 +00:00
interface [hyperv] Ignore unsolicited VMBus messages 2017-01-24 15:03:10 +00:00
libgcc [libgcc] Provide __divmoddi4() 2016-05-05 23:42:57 +01:00
net [netdevice] Allow MTU to be changed at runtime 2017-01-23 17:47:28 +00:00
scripts [efi] Centralise architecture-independent EFI Makefile and linker script 2016-03-12 21:47:13 +00:00
tests [list] Add list_next_entry() and list_prev_entry() 2016-08-31 15:06:36 +01:00
usr [crypto] Add certstat() to display basic certificate information 2016-08-31 15:41:15 +01:00
util [efi] Fix building elf2efi.c when -fpic is enabled by default 2017-01-25 08:15:21 +00:00
.gitignore [build] Add support for local configuration files 2010-03-26 19:07:22 +00:00
doxygen.cfg [build] Remove PACKED macro 2010-05-29 23:49:47 +01:00
Makefile [build] Add %.vhd target for building VM bootable disk images 2017-01-22 11:22:11 +00:00
Makefile.efi [efi] Centralise architecture-independent EFI Makefile and linker script 2016-03-12 21:47:13 +00:00
Makefile.housekeeping [profile] Allow profiling to be globally enabled or disabled 2016-07-05 13:49:51 +01:00