Parcourir la source

[pxe] Work around missing PXENV_UNDI_OPEN only when necessary

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown il y a 10 ans
Parent
révision
206bd7bb64
1 fichiers modifiés avec 4 ajouts et 2 suppressions
  1. 4
    2
      src/arch/i386/interface/pxe/pxe_undi.c

+ 4
- 2
src/arch/i386/interface/pxe/pxe_undi.c Voir le fichier

@@ -330,8 +330,10 @@ pxenv_undi_transmit ( struct s_PXENV_UNDI_TRANSMIT *undi_transmit ) {
330 330
 	 * processing at this point, to work around callers that never
331 331
 	 * call PXENV_UNDI_OPEN before attempting to use the UNDI API.
332 332
 	 */
333
-	netdev_rx_freeze ( pxe_netdev );
334
-	netdev_irq ( pxe_netdev, 1 );
333
+	if ( ! netdev_rx_frozen ( pxe_netdev ) ) {
334
+		netdev_rx_freeze ( pxe_netdev );
335
+		netdev_irq ( pxe_netdev, 1 );
336
+	}
335 337
 
336 338
 	/* Identify network-layer protocol */
337 339
 	switch ( undi_transmit->Protocol ) {

Chargement…
Annuler
Enregistrer