Date: Mon, 12 Apr 1999 14:22:22 -0600 (MDT) From: "Kenneth D. Merry" <ken@plutotech.com> To: wilko@yedi.iaf.nl (Wilko Bulte) Cc: freebsd-scsi@FreeBSD.ORG Subject: Re: Getting Pioneer CD changer to work Message-ID: <199904122022.OAA07155@panzer.plutotech.com> In-Reply-To: <199904121928.VAA02161@yedi.iaf.nl> from Wilko Bulte at "Apr 12, 1999 9:28:10 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
Wilko Bulte wrote... > As Kenneth D. Merry wrote ... > > Hmm, there are a couple of things that could cause this. One could be that > > you're actually just beyond the stack frame that contained those variables. > > > > If you go back up into the stack frame with cdprevent(), can you take a > > look at: > > > > print /x softc->flags > > print /x softc->changer->flags > > print /x softc->pinfo.index > > > > That might help things somewhat, or maybe not, since the flags will get > > changed in the routines below that. > > A bit more luck now: > > (kgdb) frame 14 > #14 0xc012720c in cdprevent (periph=0xc0780c00, action=1) > at ../../cam/scsi/scsi_cd.c:2517 > 2517 > (kgdb) print /x softc->flags > $4 = 0xe8 Okay, so the active flag is set. > (kgdb) print /x softc->changer->flags > $5 = 0x8 And the need timeout flag is set. > (kgdb) print /x softc->pinfo.index > $6 = 0xffffffff And it isn't queued. Hmm, well, I don't quite understand why it seems to be looping. It shouldn't continue in the loop once the active flag is set. It should get the CCB and keep on going. > > > > There's a loop in cdgetccb(), and the process should get put into tsleep() > > > > inside that loop at some point. My guess is that that is not happening for > > > > some reason. The loop control elements are in the above variables, so > > > > maybe that'll tell me something. > > > > > > I'm not sure, the 'cannot access memory' might not be very helpful. > > > I can try to get a couple of other dumps if needed. > > > > Do you think you might be able to get remote GDB working? You might be > > able to get better information that way. > > I'll give it a try. Soldering iron is heating up to create a cable.. Ahh, doing it the hard way, 'eh? :) In any case, it may help to have a look at those variables with remote gdb. Ken -- Kenneth Merry ken@plutotech.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904122022.OAA07155>