Date: Sat, 17 Sep 2005 13:50:11 +0200 From: =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos@FreeBSD.org> To: Patrick Bowen <pbowen@fastmail.fm> Cc: Freebsd-current@FreeBSD.org Subject: Re: ATA error on 6.0-BETA4 Message-ID: <F510A000-70D7-4ED8-9903-EC5CEE527DC5@FreeBSD.org> In-Reply-To: <432B2985.50302@fastmail.fm> References: <1126047871.687.1.camel@localhost> <E52963F6-A762-4719-A6AD-4412C0011C17@FreeBSD.org> <4328D0F7.2090501@fastmail.fm> <2B22BF98-3FF4-4BE5-B8FF-56BB07CDB4D9@FreeBSD.org> <432B2985.50302@fastmail.fm>
next in thread | previous in thread | raw e-mail | index | archive | help
On 16/09/2005, at 22:22, Patrick Bowen wrote: > S=F8ren Schmidt wrote: >> On 15/09/2005, at 3:40, Patrick Bowen wrote: >>> I've notice the same behaviour on my Dell C600. I've attached =20 >>> verbose dmesg's for -current and 5.4. When I boot 5.4 the CD-RW =20 >>> is found and I have no problems using it for either reading or =20 >>> writing. I hope they're useful for you. >> OK, please try the below patch and let me know if that helps any. >>> I'd like to say that I have the greatest respect for *all* of =20 >>> you that work at making FreeBSD the great OS that it is. I just =20 >>> wonder where you find the time to work on it, what with your day =20= >>> jobs, family responsibilities and all... >> I guess we have understanding environments and need for less =20 >> sleep than usual :) >> >> Index: ata-lowlevel.c >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> RCS file: /home/ncvs/src/sys/dev/ata/ata-lowlevel.c,v >> retrieving revision 1.71 >> diff -u -r1.71 ata-lowlevel.c >> --- ata-lowlevel.c 14 Sep 2005 12:45:06 -0000 1.71 >> +++ ata-lowlevel.c 15 Sep 2005 07:35:41 -0000 >> @@ -278,7 +278,7 @@ >> /* if read data get it */ >> if (request->flags & ATA_R_READ) { >> - if (ata_wait(ch, atadev, (ATA_S_READY | =20 >> ATA_S_DRQ)) < 0) { >> + if (ata_wait(ch, atadev, ATA_S_DRQ) < 0) { >> device_printf(request->dev, >> "timeout waiting for read DRQ\n"); >> request->result =3D EIO; >> >> >> S=F8ren Schmidt >> sos@FreeBSD.org >> >> >> >> >> > S=F8ren: > > Outstanding! The drive is now recognized at boot, I can read and =20 > write CD's, and even listen to audio CD's. It all seems to work! =20 > Such a small change had a huge impact. Good, I'll get this committed ASAP when I have a little more testing =20 done. > If you don't mind, what exactly was the purpose for making the =20 > change (other than to make things work)? ATAPI devices doesn't always set the READY flag, the reason being =20 that they should not be picked up as ATA devices back when there was =20 systems that didn't know about ATAPI. ATA mkIII originally did the identify by polling the device so this =20 wasn't used. Later I changed things to use the generic request =20 processing logic but newer encountered this problem on any of the =20 devices I routinely test with. Now I've found an old ATAPI cdrom that =20= exhibits this behavior and added it to the pool of "must test these" =20 device :) S=F8ren Schmidt sos@FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F510A000-70D7-4ED8-9903-EC5CEE527DC5>