Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 May 2005 16:06:01 -0700
From:      Sean McNeil <sean@mcneil.com>
To:        Doug White <dwhite@gumbysoft.com>
Cc:        amd64@freebsd.org
Subject:   Re: help with GPF on 5.4-STABLE - found fix
Message-ID:  <1116803161.1148.8.camel@server.mcneil.com>
In-Reply-To: <20050522123938.I27009@carver.gumbysoft.com>
References:  <1116566651.1588.17.camel@server.mcneil.com> <20050520135046.T8229@carver.gumbysoft.com> <F380AA4D-2307-4062-AAFC-DEB6BDA389E4@mcneil.com> <20050522123938.I27009@carver.gumbysoft.com>

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

I want to extend my appreciation for your questions as they steered me
in the right direction and helped me resolve the issue with atapicam.

I am puzzled as why I am the first to experience this problem.  It would
appear to be an issue that others should have run into before me.

There is a problem in sys/dev/ata/ata-queue.c with ata_completed().  In
the case where there is an ATAPI error, a new request is issued.  It is
a sense request.  The problem is, there is a value in donecount from the
previous request that isn't zero'd out.  The following patch fixes my
crash and makes burning CDs work again.

--- sys/dev/ata/ata-queue.c.orig        Sun May 22 15:28:03 2005
+++ sys/dev/ata/ata-queue.c     Sun May 22 15:28:27 2005
@@ -340,6 +340,7 @@
            request->data = (caddr_t)&request->u.atapi.sense_data;
            request->bytecount = sizeof(struct atapi_sense);
            request->transfersize = sizeof(struct atapi_sense);
+           request->donecount = 0;
            request->timeout = 5;
            request->flags &= (ATA_R_ATAPI | ATA_R_QUIET);
            request->flags |= (ATA_R_READ | ATA_R_IMMEDIATE | ATA_R_REQUEUE);

Now, how do I get this incorporated into -STABLE?  Do I need to submit a
bug report?  Is this simple enough that a team member can simply review
and commit?

Cheers,
Sean





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