Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Mar 1998 23:20:02 -0800 (PST)
From:      Bruce Evans <bde@zeta.org.au>
To:        freebsd-bugs
Subject:   Re: kern/6099: LPIP to slow machine causes hang
Message-ID:  <199803230720.XAA14220@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/6099; it has been noted by GNATS.

From: Bruce Evans <bde@zeta.org.au>
To: FreeBSD-gnats-submit@FreeBSD.ORG, peter.jeremyp@alcatel.com.au
Cc:  Subject: Re: kern/6099: LPIP to slow machine causes hang
Date: Mon, 23 Mar 1998 18:05:16 +1100

 >panic: Allocating used mbuf
 >...
 >>How-To-Repeat:
 >
 >The problem appears to be related to an interrupt window associated
 >with the LPIP code.  I have not found a short command sequence that is
 
 There is one obvious bug that can probably cause the problem.  splimp()
 doesn't always block lpintr(), so critical mbuf code can be reentered.
 The splhigh() at the beginning of lpintr() helps to hide the problem.
 
 There used to be a similar problems for SLIP and PPP.  isa.c has
 an old hack to set `net_imask = tty_imask = net_imask | tty_imask;'.
 PPP needed this too but only got it when SLIP was configured.  (PPP now
 needs a little more and handles it directly.)  LPIP needs it too but
 only gets it when SLIP or maybe PPP is configured (lpt is (bogusly)
 in the tty device class, so the tty hack also works for it).
 
 The simplest fix is to configure SLIP.  Check that net_imask contains
 the lpt irq bit after everything is initialized.  You can also set the
 masks using gdb to fix a running system (OR them together as above,
 and put the result in intr_mask[irq_number_of_lpt]).
 
 Bruce

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803230720.XAA14220>