Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753089AbYCPTMh (ORCPT ); Sun, 16 Mar 2008 15:12:37 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752209AbYCPTMa (ORCPT ); Sun, 16 Mar 2008 15:12:30 -0400 Received: from outpipe-village-512-1.bc.nu ([81.2.110.250]:33813 "EHLO lxorguk.ukuu.org.uk" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752169AbYCPTM3 (ORCPT ); Sun, 16 Mar 2008 15:12:29 -0400 Date: Sun, 16 Mar 2008 18:56:02 +0000 From: Alan Cox To: Linus Torvalds Cc: Bartlomiej Zolnierkiewicz , Anders Eriksson , "Rafael J. Wysocki" , Jens Axboe , Ingo Molnar , Linux Kernel Mailing List Subject: Re: Linux 2.6.25-rc4 Message-ID: <20080316185602.79064f7c@core> In-Reply-To: References: <20080316140118.891732DC044@tippex.mynet.homeunix.org> <200803161907.04581.bzolnier@gmail.com> X-Mailer: Claws Mail 3.3.1 (GTK+ 2.12.5; x86_64-redhat-linux-gnu) Organization: Red Hat UK Cyf., Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, Y Deyrnas Gyfunol. Cofrestrwyd yng Nghymru a Lloegr o'r rhif cofrestru 3798903 Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1476 Lines: 38 On Sun, 16 Mar 2008 11:13:42 -0700 (PDT) Linus Torvalds wrote: > > > On Sun, 16 Mar 2008, Bartlomiej Zolnierkiewicz wrote: > > > > We don't do error handling for special commands (REQ_TYPE_ATA_*) at all, > > ide_error() just dumps device's status/error register(s) and finishes early: > > Well that sounds bogus too, for all the same reasons already outlined. The > DRQ flag needs to be cleared up on error! No it doesn't. DRQ simply means "drive has more data for the controller if you want it". Interrupts are controlled via IEN and the interrupt line. If the drive wants to give us data and we end the transaction that is fine. In practice a tiny few devices crap themselves if we don't. A few controllers require specific magic, either to ensure we never touch data after an error, or that we drain enough bits to empty the internal fifo the controller is using to improve ata performance and latches the IRQ arrival against. The PIIX/ICH is as it happens one of the most forgiving controllers anyway. The later ICH (the ones that are also AHCI) are a bit fussier about handling them to the spec because they seem to be some kind of magic ICH emulation layer on an AHCI chip. Alan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/