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

next in thread | previous in thread | raw e-mail | index | archive | help

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



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