Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Sep 2003 22:13:11 +0200
From:      Pav Lucistnik <pav@oook.cz>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        freebsd-current@freebsd.org
Subject:   Re: ATAng regression: cdcontrol close not working
Message-ID:  <1063570391.670.2.camel@hood.oook.cz>
In-Reply-To: <20030907052713.E11673@delplex.bde.org>
References:  <1062856314.734.8.camel@hood.oook.cz> <20030907052713.E11673@delplex.bde.org>

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

--=-dx7j5Pgl49LfJGIJHOwd
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: quoted-printable

V so, 06. 09. 2003 v 21:41, Bruce Evans p=ED=B9e:
> On Sat, 6 Sep 2003, Pav Lucistnik wrote:
>=20
> > 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.
>=20
> I use the following fix:
>=20
> %%%
> Index: atapi-cd.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/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;
>=20
> -    if ((error =3D acd_start_stop(cdp, 0)) =3D=3D EBUSY) {
> +    if ((error =3D acd_start_stop(cdp, 0)) =3D=3D EBUSY || close) {
>  	if (!close)
> -	    return 0;
> +	    return EBUSY;
>  	if ((error =3D 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 &=3D ~F_LOCKED;
> %%%
>=20
> acd_eject() doesn't seem to have been changed by ATAng, so I don't see ho=
w
> close it could have ever worked, but I seem to remember it working.

This patch works for me. Any chance to get it committed?

> > 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.
>=20
> 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.

Yes, for me too. I haven't tought to try cdcontrol on /dev/cd0 before,
thank you for the tip.

--=20
Pav Lucistnik <pav@oook.cz>
What do we know about love? Love is like a pear. Pear is sweet and have
a specific shape. Try to exactly define the shape of a pear.
  -- Marigold: 50 Years Of Poetry

--=-dx7j5Pgl49LfJGIJHOwd
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Toto je =?iso-8859-2?Q?digit=E1ln=EC?=
	=?ISO-8859-1?Q?_podepsan=E1?= =?iso-8859-2?Q?_=E8=E1st?=
	=?ISO-8859-1?Q?_zpr=E1vy?=

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQA/ZMvXntdYP8FOsoIRAh9HAKDDBmi28sq3lLqWKfQ2GRcJbncIawCdFfrY
4orpWV17Bv+YEf9eHGWl1xg=
=hHSZ
-----END PGP SIGNATURE-----

--=-dx7j5Pgl49LfJGIJHOwd--



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