feat: a better boot command line parser
[lunaix-os.git] / lunaix-os / hal / char / uart / 16550_base.c
index e3dda36e48823b7d704dfe2b8e16f4c9da3137fb..8ec752e3349816e730059b7623f253d01602c943 100644 (file)
@@ -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);
 }