From owner-freebsd-bugs Sun Feb 25 21:40:10 2001 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 2197037B698 for ; Sun, 25 Feb 2001 21:40:02 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f1Q5e2f99174; Sun, 25 Feb 2001 21:40:02 -0800 (PST) (envelope-from gnats) Received: from xena.gsicomp.on.ca (cr677933-a.ktchnr1.on.wave.home.com [24.43.230.149]) by hub.freebsd.org (Postfix) with ESMTP id DD03437B401 for ; Sun, 25 Feb 2001 21:36:56 -0800 (PST) (envelope-from root@xena.gsicomp.on.ca) Received: (from root@localhost) by xena.gsicomp.on.ca (8.11.1/8.9.3) id f1Q5ZBZ10641; Mon, 26 Feb 2001 00:35:11 -0500 (EST) (envelope-from root) Message-Id: <200102260535.f1Q5ZBZ10641@xena.gsicomp.on.ca> Date: Mon, 26 Feb 2001 00:35:11 -0500 (EST) From: matt@gsicomp.on.ca Reply-To: matt@gsicomp.on.ca To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: kern/25370: ATA subsystem in 4.x fails to recognize some ATA CD-ROMs Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 25370 >Category: kern >Synopsis: ATA subsystem in 4.x fails to recognize some ATA CD-ROMs >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Feb 25 21:40:02 PST 2001 >Closed-Date: >Last-Modified: >Originator: Matt Emmerton >Release: FreeBSD 4.2-STABLE i386 >Organization: GSI Computer Services >Environment: 4.2-STABLE FreeBSD 4.2-STABLE #1: Sat Feb 10 23:23:51 EST 2001 >Description: During a boot, ATA devices are probed. During the CD probe, drives are asked to provide their "capabilities page" which provides details of the drive. In 3.x, if a drive failed to respond to this request, some some defaults were filled in and the device was configured and enabled. In 4.x, if a drive fails to respond, it is treated as a hard error and the drive is not configured and enabled. Many older first generation CD-ROM devices (in particular, any MKE/Panasonic 1/2/4x "Creative" drive) do not properly respond to this request, and hence are not usable under 4.x The following patch forces the ATA driver to ignore "ABORTED COMMAND" results when executing a "MODE_SENSE_BIG" command, which used during a drive probe to extract the capabilities page. This allows older drives to be detected and used under 4.x. >How-To-Repeat: Build any 4.x kernel on a machine with one of these drives. Boot and you'll get this: Feb 25 23:08:44 styx /kernel: (null): MODE_SENSE_BIG DONEDRQ Feb 25 23:08:44 styx /kernel: (null): read data overrun 65526/1 Feb 25 23:08:44 styx /kernel: (null): MODE_SENSE_BIG - ABORTED COMMAND asc=4e ascq=00 error=00 Feb 25 23:08:45 styx /kernel: ata0-slave: CDROM device - NO DRIVER! >Fix: This patch has been tested on 4-STABLE (as of a few hours ago) and a prior revision was tested on 4.2-RELEASE with positive results. 451a452,462 case ATAPI_SK_ABORTED_COMMAND: /* This allows first-generation ATAPI devices (such * as MKE/Panasonic "Creative" CD-ROMs) that don't * respond properly to MODE_SENSE_BIG to still be * detected and recognized by the ata subsystem, * as they were in 3.x) */ if (atp->cmd == ATAPI_MODE_SENSE_BIG) break; /* FALLTHROUGH */ >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message