Explorar el Código

[rtl8139] Perform only 8-bit ioport access on the ChipCmd register

The ChipCmd register is only an 8-bit register.  The 16-bit access
used by iPXE was causing an issue when used with qemu emulated rtl8139
device which was improperly aligning IOs.

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Julian Pidancet hace 12 años
padre
commit
91dd64ad25
Se han modificado 1 ficheros con 1 adiciones y 1 borrados
  1. 1
    1
      src/drivers/net/rtl8139.c

+ 1
- 1
src/drivers/net/rtl8139.c Ver fichero

434
 	}
434
 	}
435
 
435
 
436
 	/* Handle received packets */
436
 	/* Handle received packets */
437
-	while ( ! ( inw ( rtl->ioaddr + ChipCmd ) & RxBufEmpty ) ) {
437
+	while ( ! ( inb ( rtl->ioaddr + ChipCmd ) & RxBufEmpty ) ) {
438
 		rx_status = * ( ( uint16_t * )
438
 		rx_status = * ( ( uint16_t * )
439
 				( rtl->rx.ring + rtl->rx.offset ) );
439
 				( rtl->rx.ring + rtl->rx.offset ) );
440
 		rx_len = * ( ( uint16_t * )
440
 		rx_len = * ( ( uint16_t * )

Loading…
Cancelar
Guardar