Date: Sun, 7 Sep 2003 05:41:00 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> To: Pav Lucistnik <pav@oook.cz> Cc: freebsd-current@freebsd.org Subject: Re: ATAng regression: cdcontrol close not working Message-ID: <20030907052713.E11673@delplex.bde.org> In-Reply-To: <1062856314.734.8.camel@hood.oook.cz> References: <1062856314.734.8.camel@hood.oook.cz>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 6 Sep 2003, Pav Lucistnik wrote: > after recent ATAng changes, cdcontrol close stopped working > with my CD-ROM drive. It used to close the tray. It works with -f > /dev/cd0 but not with /dev/acd0. cdcontrol eject still works fine. I use the following fix: %%% Index: atapi-cd.c =================================================================== RCS file: /home/ncvs/src/sys/dev/ata/atapi-cd.c,v retrieving revision 1.142 diff -u -2 -r1.142 atapi-cd.c --- atapi-cd.c 5 Sep 2003 10:40:16 -0000 1.142 +++ atapi-cd.c 6 Sep 2003 17:16:16 -0000 @@ -1870,7 +1913,7 @@ int error; - if ((error = acd_start_stop(cdp, 0)) == EBUSY) { + if ((error = acd_start_stop(cdp, 0)) == EBUSY || close) { if (!close) - return 0; + return EBUSY; if ((error = acd_start_stop(cdp, 3))) return error; @@ -1882,6 +1925,4 @@ if (error) return error; - if (close) - return 0; acd_prevent_allow(cdp, 0); cdp->flags &= ~F_LOCKED; %%% acd_eject() doesn't seem to have been changed by ATAng, so I don't see how close it could have ever worked, but I seem to remember it working. > Relevant dmesg parts: > ... > cd0 at ata1 bus 0 target 0 lun 0 > cd0: <TEAC CD-532E-B 1.0A> Removable CD-ROM SCSI-0 device > cd0: 16.000MB/s transfers > cd0: cd present [357072 x 2048 byte records] > > I do have atapicam in my kernel. Close works on cd0 and cd1 for me without the above patch. The code for eject and close in scsi_cd.c is easier to understand. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030907052713.E11673>