git: 9front

Download patch

ref: acd3ec2e4f218453e36bdabd891215624d9432cc
parent: 74b601a550dacfdcaa78c052fb7c14dbd2b7babb
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sat Oct 27 16:00:12 EDT 2018

devuart: don't sleep in uartdrainoutput() when called splhi or without a process

uartdrainoutput() might be called in early initialization
from uartctl() without a process.

--- a/sys/src/9/port/devuart.c
+++ b/sys/src/9/port/devuart.c
@@ -318,9 +318,8 @@
 static void
 uartdrainoutput(Uart *p)
 {
-	if(!p->enabled)
+	if(!p->enabled || up == nil || !islo())
 		return;
-
 	p->drain = 1;
 	if(waserror()){
 		p->drain = 0;
--