NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/48213: ehci assertion failure during boot
The following reply was made to PR kern/48213; it has been noted by GNATS.
From: Nick Hudson <skrll%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: Andreas Gustafsson <gson%gson.org@localhost>,
kern-bug-people%netbsd.org@localhost,
gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
Subject: Re: kern/48213: ehci assertion failure during boot
Date: Sat, 30 Nov 2013 13:16:59 +0000
This is a multi-part message in MIME format.
--------------070405060302030605000708
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
On 09/15/13 11:50, Andreas Gustafsson wrote:
>> This port is broken, it does not call cnpollc() before calling cngetc().
>> This should be fixed, but it will work anyway (for now).
This part should be easy to fix, but first...
>> panic: kernel diagnostic assertion "mutex_owned(&sc->sx_lock)" failed:
>> file "/tmp/bracket/build/2013.09.12.07.26.13-amd64/sys/dev/usb/ehci.c",
>> line 3302
The KASSERT misses the polling case which you've clearly entered.
Nick
--------------070405060302030605000708
Content-Type: text/plain; charset=us-ascii;
name="ctrl_done_polling.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="ctrl_done_polling.diff"
Index: sys/dev/usb/ehci.c
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/ehci.c,v
retrieving revision 1.219
diff -u -p -u -r1.219 ehci.c
--- sys/dev/usb/ehci.c 26 Nov 2013 05:54:43 -0000 1.219
+++ sys/dev/usb/ehci.c 30 Nov 2013 13:11:50 -0000
@@ -3296,7 +3296,7 @@ ehci_device_ctrl_done(usbd_xfer_handle x
DPRINTFN(10,("ehci_ctrl_done: xfer=%p\n", xfer));
- KASSERT(mutex_owned(&sc->sc_lock));
+ KASSERT(sc->sc_bus.use_polling || mutex_owned(&sc->sc_lock));
#ifdef DIAGNOSTIC
if (!(xfer->rqflags & URQ_REQUEST)) {
--------------070405060302030605000708--
Home |
Main Index |
Thread Index |
Old Index