git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
feat: a better boot command line parser
[lunaix-os.git]
/
lunaix-os
/
hal
/
char
/
uart
/
16550_base.c
diff --git
a/lunaix-os/hal/char/uart/16550_base.c
b/lunaix-os/hal/char/uart/16550_base.c
index e3dda36e48823b7d704dfe2b8e16f4c9da3137fb..8ec752e3349816e730059b7623f253d01602c943 100644
(file)
--- a/
lunaix-os/hal/char/uart/16550_base.c
+++ b/
lunaix-os/hal/char/uart/16550_base.c
@@
-66,7
+66,7
@@
uart_general_irq_handler(int iv, struct llist_header* ports)
llist_for_each(pos, n, ports, local_ports)
{
int is = uart_intr_identify(pos);
llist_for_each(pos, n, ports, local_ports)
{
int is = uart_intr_identify(pos);
- if (iv == pos->iv && (is == UART_
DATA_OK || is == UART_
CHR_TIMEOUT)) {
+ if (iv == pos->iv && (is == UART_CHR_TIMEOUT)) {
goto done;
}
}
goto done;
}
}
@@
-91,5
+91,7
@@
done:
}
serial_accept_buffer(pos->sdev, tmpbuf, i);
}
serial_accept_buffer(pos->sdev, tmpbuf, i);
+ serial_accept_one(pos->sdev, 0);
+
serial_end_recv(pos->sdev);
}
serial_end_recv(pos->sdev);
}