summaryrefslogtreecommitdiff
path: root/parseconfig.inc
diff options
context:
space:
mode:
authorhpa <hpa>2005-08-30 00:05:26 +0000
committerhpa <hpa>2005-08-30 00:05:26 +0000
commitdeec9eeabdb560545f94198686b2f93ec6d20839 (patch)
tree5ce2c5f0aeee40bdb5b5b2f620f24fb0dfa3f51e /parseconfig.inc
parent33dfda973ac3e937afa23c948e62dd90ec3abd94 (diff)
downloadsyslinux-deec9eeabdb560545f94198686b2f93ec6d20839.tar.gz
Correct the enabling of the 16550A FIFOsyslinux-3.11-pre10
Diffstat (limited to 'parseconfig.inc')
-rw-r--r--parseconfig.inc12
1 files changed, 6 insertions, 6 deletions
diff --git a/parseconfig.inc b/parseconfig.inc
index 09712b9c..450af29a 100644
--- a/parseconfig.inc
+++ b/parseconfig.inc
@@ -214,29 +214,29 @@ pc_serial: call getint
call slow_out
mov al,03h ; Disable DLAB
- add dx,byte 2 ; DX -> LCR
+ inc dx ; DX -> LCR
+ inc dx
call slow_out
in al,dx ; Read back LCR (detect missing hw)
cmp al,03h ; If nothing here we'll read 00 or FF
jne .serial_port_bad ; Assume serial port busted
- sub dx,byte 2 ; DX -> IER
+ dec dx
+ dec dx ; DX -> IER
xor al,al ; IRQ disable
call slow_out
- inc dx
- inc dx ; DX -> FCR
+ inc dx ; DX -> FCR/IIR
mov al,01h
call slow_out ; Enable FIFOs if present
- dec dx ; DX -> IIR
in al,dx
- inc dx ; DX -> FCR
cmp al,0C0h ; FIFOs enabled and usable?
jae .fifo_ok
xor ax,ax ; Disable FIFO if unusable
call slow_out
.fifo_ok:
+ inc dx
inc dx ; DX -> MCR
in al,dx
or al,[FlowOutput] ; Assert bits