Date: Mon, 8 Sep 2003 17:06:36 -0400 (EDT) From: Andrew Gallatin <gallatin@cs.duke.edu> To: Idar Tollefsen <idart@performancedesign.no> Cc: thomas@freebsd.org Subject: Re: atapicam causes fatal kernel trap Message-ID: <16220.61276.946194.736750@grasshopper.cs.duke.edu> In-Reply-To: <3F5CE880.E08ABB6D@performancedesign.no> References: <3F568ED4.5095458F@performancedesign.no> <16215.32222.610240.127909@grasshopper.cs.duke.edu> <3F579927.1020601@performancedesign.no> <16215.39766.415180.759716@grasshopper.cs.duke.edu> <3F5A20ED.C5DE017E@performancedesign.no> <16220.34865.620913.836921@grasshopper.cs.duke.edu> <3F5CE880.E08ABB6D@performancedesign.no>
index | next in thread | previous in thread | raw e-mail
Idar Tollefsen writes:
> Andrew Gallatin wrote:
> > (gdb) list *atapi_action+0x194
>
> 0xfffffc000036b974 is in atapi_action (../../dev/ata/atapi-cam.c:256).
> 251 strncpy(cpi->hba_vid, "ATAPI", sizeof(cpi->hba_vid));
> 252 strncpy(cpi->dev_name, cam_sim_name(sim), sizeof
> cpi->dev_name);
> 253 cpi->unit_number = cam_sim_unit(sim);
> 254 cpi->bus_id = cam_sim_bus(sim);
> 255 if (softc->ata_ch && ccb_h->target_id >= 0) {
My suggestion, knowing nothing about the ataipcam code, would be to
add a line just after the "if", which says:
printf("ccb_h->target_id = %d\n", ccb_h->target_id);
Hmmm.. Thomas, how can ccb_h->target_id ever be less than 0 if
a target_id_t is typedef'ed to a u_int? Perhaps the test should be
if (softc->ata_ch && ccb_h->target_id != CAM_TARGET_WILDCARD) {
Drew
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16220.61276.946194.736750>
