Date: Sat, 27 Dec 2003 10:04:17 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: dhee@myrealbox.com Cc: freebsd-current@freebsd.org Subject: Re: Serial driver problems with 5.2-current Message-ID: <20031227.100417.84362606.imp@bsdimp.com> In-Reply-To: <1072530641.b36949c0dhee@myrealbox.com> References: <1072530641.b36949c0dhee@myrealbox.com>
next in thread | previous in thread | raw e-mail | index | archive | help
----Next_Part(Sat_Dec_27_10:04:17_2003_143)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit In message: <1072530641.b36949c0dhee@myrealbox.com> "Dheeraj" <dhee@myrealbox.com> writes: : Hello Warner. : : I got a little further ahead or maybe not. : i just put in a bunch of printf's and noticed that it goes into an infinite loop. in : : srs/sys/dev/sio.c : : siointr1(struct com_s com) : { : : in the 2nd while loop : while(line_status & LSR_RCV_MASK) { : /*break/unattached error bits or real input?*/ : ---- : --- : } : } : so it never comes out of this loop and the machine just hangs. i : could also point to some more details if i were able to see the : 'printfs' properly, right now i can see the scrreen scroll so fast : that i can't make anything out of it. and as i said earlier i cannot : break into the debugger. (i know only two ways of it, ctrl-alt-esc : and sysctl, if there is anything else i can try out i shall try) Very interesting. You are attaching to a uart that potentially isn't there for reasons unknown. Not sure which interrupt is involved (we should make a ddb command show active interrupts). Please try this patch and report back what it says. Warner ----Next_Part(Sat_Dec_27_10:04:17_2003_143)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="sio.diff" Index: sio.c =================================================================== RCS file: /cache/ncvs/src/sys/dev/sio/sio.c,v retrieving revision 1.416 diff -u -r1.416 sio.c --- sio.c 17 Nov 2003 07:21:19 -0000 1.416 +++ sio.c 27 Dec 2003 17:02:03 -0000 @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/dev/sio/sio.c,v 1.416 2003/11/17 07:21:19 bde Exp $"); #include "opt_comconsole.h" #include "opt_compat.h" @@ -1794,7 +1794,11 @@ } } line_status = inb(com->line_status_port); - + if (line_status == 0xff) { + printf("sio%d: spouting nonsense -- disabled.\n", + com->unit); + com->gone = 1; + } /* input event? (check first to help avoid overruns) */ while (line_status & LSR_RCV_MASK) { /* break/unnattached error bits or real input? */ ----Next_Part(Sat_Dec_27_10:04:17_2003_143)----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031227.100417.84362606.imp>