From: Michael Brown Date: Sat, 3 May 2014 00:07:38 +0000 (+0100) Subject: [pxe] Work around missing PXENV_UNDI_OPEN only when necessary X-Git-Tag: v1.20.1~1194 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=206bd7bb64ddda692056ce1ebd68efbf794af803;p=thirdparty%2Fipxe.git [pxe] Work around missing PXENV_UNDI_OPEN only when necessary Signed-off-by: Michael Brown --- diff --git a/src/arch/i386/interface/pxe/pxe_undi.c b/src/arch/i386/interface/pxe/pxe_undi.c index a17b9b3b0..29e586ed2 100644 --- a/src/arch/i386/interface/pxe/pxe_undi.c +++ b/src/arch/i386/interface/pxe/pxe_undi.c @@ -330,8 +330,10 @@ pxenv_undi_transmit ( struct s_PXENV_UNDI_TRANSMIT *undi_transmit ) { * processing at this point, to work around callers that never * call PXENV_UNDI_OPEN before attempting to use the UNDI API. */ - netdev_rx_freeze ( pxe_netdev ); - netdev_irq ( pxe_netdev, 1 ); + if ( ! netdev_rx_frozen ( pxe_netdev ) ) { + netdev_rx_freeze ( pxe_netdev ); + netdev_irq ( pxe_netdev, 1 ); + } /* Identify network-layer protocol */ switch ( undi_transmit->Protocol ) {