Navigation Menu

Skip to content

Commit

Permalink
[block] Ignore redundant xfer_window_changed() messages
Browse files Browse the repository at this point in the history
For some block device protocols, the active path may continue to
receive xfer_window_changed() notifications during normal use.  These
currently result in the active path being erroneously closed.

Fix by ignoring any xfer_window_changed() messages if this path is
already the active path.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
  • Loading branch information
mcb30 committed Mar 28, 2017
1 parent fa879f9 commit 414b4fc
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/core/sanboot.c
Expand Up @@ -282,6 +282,10 @@ static size_t sanpath_block_window ( struct san_path *sanpath __unused ) {
static void sanpath_step ( struct san_path *sanpath ) {
struct san_device *sandev = sanpath->sandev;

/* Ignore if we are already the active device */
if ( sanpath == sandev->active )
return;

/* Wait until path has become available */
if ( ! xfer_window ( &sanpath->block ) )
return;
Expand Down

0 comments on commit 414b4fc

Please sign in to comment.