From owner-freebsd-current@FreeBSD.ORG Fri Feb 26 10:40:42 2010 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 889FE106566B for ; Fri, 26 Feb 2010 10:40:42 +0000 (UTC) (envelope-from mavbsd@gmail.com) Received: from mail-fx0-f223.google.com (mail-fx0-f223.google.com [209.85.220.223]) by mx1.freebsd.org (Postfix) with ESMTP id 132F48FC0C for ; Fri, 26 Feb 2010 10:40:41 +0000 (UTC) Received: by fxm23 with SMTP id 23so1157321fxm.3 for ; Fri, 26 Feb 2010 02:40:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type; bh=82CQb7fhdqzHPN8+Rz/lW+nurllJ+0Dm987jVo+0+o4=; b=h+lnc8CyFSmKnvUPRidUlUI8LQj2teiU5y3Z5yjyA/pzC6gvtjS5zs13d+qZGvdvRT s5VWdcK8J6cdK4FHwsGgu4P390IBR0Dan5FJL9lMI8efVGxZ5hhjKCgkPGphiE3YxDeB ne84HSQiGzqswhgwCRW8MKuD5pcNFTS1XURy8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type; b=vqgxwg7Gu0kzslt9qARMt6C19EowAU2gAAYbo/aK0JkCZzuwqOyFq7ucLDU6MjktYL 8k5APT2nK+hM99jUe+K/eaelnmgFVMdFl04qcecrhALc9Kn1mBdo74aJ8kCJux7pPTtP +D1bPYfR6VvMbaKn0kEtZWYjrbORICEGwgz+E= Received: by 10.223.4.217 with SMTP id 25mr202636fas.82.1267180833914; Fri, 26 Feb 2010 02:40:33 -0800 (PST) Received: from mavbook.mavhome.dp.ua (pc.mavhome.dp.ua [212.86.226.226]) by mx.google.com with ESMTPS id 14sm5126387fxm.9.2010.02.26.02.40.32 (version=SSLv3 cipher=RC4-MD5); Fri, 26 Feb 2010 02:40:33 -0800 (PST) Sender: Alexander Motin Message-ID: <4B87A51F.1010603@FreeBSD.org> Date: Fri, 26 Feb 2010 12:40:31 +0200 From: Alexander Motin User-Agent: Thunderbird 2.0.0.23 (X11/20091212) MIME-Version: 1.0 To: Claude Buisson References: <1267114982.00223400.1267102202@10.7.7.3> <4B86DAD4.1050607@FreeBSD.org> <4B87046C.80308@orange.fr> In-Reply-To: <4B87046C.80308@orange.fr> X-Enigmail-Version: 0.96.0 Content-Type: multipart/mixed; boundary="------------030206010409000205050300" Cc: FreeBSD Current Subject: Re: ATA CDROM no more detected with ATA_CAM under VMWare WS X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Feb 2010 10:40:42 -0000 This is a multi-part message in MIME format. --------------030206010409000205050300 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Claude Buisson wrote: > Here it is: > > root@zaza# camcontrol identify cd0 -v > pass1: Raw identify data: > 0: 85c4 0000 0000 0000 0000 0000 0000 0000 Attached patch should fix the issue. -- Alexander Motin --------------030206010409000205050300 Content-Type: text/plain; name="puis.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="puis.patch" --- sys/ata.h.prev 2010-02-03 19:41:43.000000000 +0200 +++ sys/ata.h 2010-02-26 11:59:24.000000000 +0200 @@ -51,7 +51,7 @@ struct ata_params { #define ATA_RESP_INCOMPLETE 0x0004 /*001*/ u_int16_t cylinders; /* # of cylinders */ - u_int16_t reserved2; +/*002*/ u_int16_t specconf; /* specific configuration */ /*003*/ u_int16_t heads; /* # heads */ u_int16_t obsolete4; u_int16_t obsolete5; --- cam/ata/ata_xpt.c.prev 2010-02-26 12:06:33.000000000 +0200 +++ cam/ata/ata_xpt.c 2010-02-26 12:17:39.000000000 +0200 @@ -788,11 +788,10 @@ noerror: ata_btrim(ident_buf->serial, sizeof(ident_buf->serial)); ata_bpack(ident_buf->serial, ident_buf->serial, sizeof(ident_buf->serial)); /* Device may need spin-up before IDENTIFY become valid. */ - if ((ident_buf->config & ATA_RESP_INCOMPLETE) || - ((ident_buf->support.command2 & ATA_SUPPORT_STANDBY) && - (ident_buf->enabled.command2 & ATA_SUPPORT_STANDBY) && - (ident_buf->support.command2 & ATA_SUPPORT_SPINUP) && - softc->spinup == 0)) { + if ((ident_buf->specconf == 0x37c8 || + ident_buf->specconf == 0x738c) && + ((ident_buf->config & ATA_RESP_INCOMPLETE) || + softc->spinup == 0)) { PROBE_SET_ACTION(softc, PROBE_SPINUP); xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); --------------030206010409000205050300--