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>