From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alan Cox Subject: Re: Fwd: ide-cd turning off DMA when verifying DVD-R Date: Fri, 13 Jan 2006 14:24:25 +0000 Message-ID: <1137162265.4419.6.camel@localhost.localdomain> References: <5ujmU-1UQ-665@gated-at.bofh.it> <5uoqr-Qq-7@gated-at.bofh.it> <43C72F41.5060207@shaw.ca> <20060113083009.GE12338@paradise.net.nz> <58cb370e0601130119g5c62b749r1bc5da59a0d4a56c@mail.gmail.com> <58cb370e0601130121s2f6c0a26jda00ff64df197342@mail.gmail.com> <20060113093818.GA22984@sci.fi> <58cb370e0601130149g32323b4axbf0ac55f83ac9148@mail.gmail.com> <20060113112510.GA23264@sci.fi> <58cb370e0601130533n5842cb5fufc5058f9a1acc606@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Return-path: Received: from outpipe-village-512-1.bc.nu ([81.2.110.250]:6021 "EHLO lxorguk.ukuu.org.uk") by vger.kernel.org with ESMTP id S1422690AbWAMOVc (ORCPT ); Fri, 13 Jan 2006 09:21:32 -0500 In-Reply-To: <58cb370e0601130533n5842cb5fufc5058f9a1acc606@mail.gmail.com> Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: Bartlomiej Zolnierkiewicz Cc: Ville =?ISO-8859-1?Q?Syrj=E4l=E4?= , Ondrej Zary , Robert Hancock , Volker Kuhlmann , Jens Axboe , linux-ide , linux-kernel On Gwe, 2006-01-13 at 14:33 +0100, Bartlomiej Zolnierkiewicz wrote: > The patch was NACK-ed by Alan Cox and I agree with him (this should be > done differently). This __ide_dma_off() chunk looks sensible but does it fix > the issue? I was under impression that after a reset drive looses its DMA > xfer mode and needs to be reprogrammed (ATA spec has the answer). Yes and the behaviour is determined by hdparm -k/-K. Its all a bit random after a CRC error however as the recovery code does a polling speed change and the locking versus timers/irq's is totally broken. I did some minimal fixes in the older -ac patches but even with all the other locking cleanup I did back then this one remained. Essentially the old IDE layer needs to switch from polled speed changes in task context to issuing speed changes as state machine sequences. Thats non trivial Alan