From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff Garzik Subject: Re: [patch 29/30] sata_nv: don't read shadow registers when in ADMA mode Date: Fri, 09 Mar 2007 07:35:52 -0500 Message-ID: <45F154A8.1050606@garzik.org> References: <200703061038.l26AcD3M019553@shell0.pdx.osdl.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from srv5.dvmed.net ([207.36.208.214]:55546 "EHLO mail.dvmed.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1422770AbXCIMfy (ORCPT ); Fri, 9 Mar 2007 07:35:54 -0500 In-Reply-To: <200703061038.l26AcD3M019553@shell0.pdx.osdl.net> Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: akpm@linux-foundation.org, hancockr@shaw.ca Cc: linux-ide@vger.kernel.org akpm@linux-foundation.org wrote: > From: Robert Hancock > > Reading from the ATA shadow registers while we are in ADMA mode may cause > undefined behavior. Don't read the ATA status register when completing > commands for this reason, it shouldn't be needed as the controller will > notify us if the command failed. Also, don't allow commands with result > taskfile requested to execute in ADMA mode, since that requires accessing > the shadow registers. We also still need to override tf_read since libata > will read the result taskfile on a command failure, and we need to go into > port register mode before allowing this. > > Signed-off-by: Robert Hancock > Signed-off-by: Andrew Morton > --- > > drivers/ata/sata_nv.c | 33 ++++++++++++++++++++------------- > 1 file changed, 20 insertions(+), 13 deletions(-) Robert, do you think this should be pushed into #upstream-fixes (2.6.21-rc)? I lean towards "yes", since it is a needed-by-hardware fix, but I also am interested in testing feedback since it is so late in the 2.6.21-rc game. Jeff