Skip site navigation (1)Skip section navigation (2)
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>