From 206bd7bb64ddda692056ce1ebd68efbf794af803 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Sat, 3 May 2014 01:07:38 +0100 Subject: [PATCH] [pxe] Work around missing PXENV_UNDI_OPEN only when necessary Signed-off-by: Michael Brown --- src/arch/i386/interface/pxe/pxe_undi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/arch/i386/interface/pxe/pxe_undi.c b/src/arch/i386/interface/pxe/pxe_undi.c index a17b9b3b..29e586ed 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 ) {