]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[pxe] Work around missing PXENV_UNDI_OPEN only when necessary
authorMichael Brown <mcb30@ipxe.org>
Sat, 3 May 2014 00:07:38 +0000 (01:07 +0100)
committerMichael Brown <mcb30@ipxe.org>
Sat, 3 May 2014 17:52:15 +0000 (18:52 +0100)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/arch/i386/interface/pxe/pxe_undi.c

index a17b9b3b053bdca8b7c1fc6fa305efd2cdba23fc..29e586ed2a5c180d34fbc870f0e32afc677177af 100644 (file)
@@ -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 ) {