HTTP implements xfer_window_changed() on the underlying server
connection using http_step(), which does not propagate the window
change notification to the data transfer interface. This breaks the
multipath-capable SAN boot code, which relies on the window change
notification to discover that the HTTP block device is ready for
commands to be issued.
Fix by sending xfer_window_changed() in http_step() once the
underlying connection has been determined to be ready.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
if ( ! xfer_window ( &http->conn ) )
return;
+ /* Notify data transfer interface that window may have changed */
+ xfer_window_changed ( &http->xfer );
+
/* Do nothing until data transfer interface is ready */
if ( ! xfer_window ( &http->xfer ) )
return;