Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752189AbYL2TCk (ORCPT ); Mon, 29 Dec 2008 14:02:40 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752036AbYL2TCN (ORCPT ); Mon, 29 Dec 2008 14:02:13 -0500 Received: from mail-bw0-f21.google.com ([209.85.218.21]:32797 "EHLO mail-bw0-f21.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751859AbYL2TCK (ORCPT ); Mon, 29 Dec 2008 14:02:10 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:date:user-agent:cc:references:in-reply-to :mime-version:content-type:content-transfer-encoding :content-disposition:message-id; b=BRYuvtTxnRwFQUfZY+NGC9yBZGVb4kRNQP2XdBiFvp9r+ascOeERCQ9qow+DBXrLbq jOid62iGLBLi8QdSBENqZETbf2tTuAGHorBglrlrBvT1lJWr+IsTXpp1eNoXkKP1cih/ fngQxaqWNwp+mDl+hWWZbGoRbAlnu8+7vY+G4= From: Bartlomiej Zolnierkiewicz To: Mario Schwalbe Subject: Re: [PATCH] ide: Fix drive's DWORD-IO handling Date: Mon, 29 Dec 2008 19:47:52 +0100 User-Agent: KMail/1.10.3 (Linux/2.6.28-rc8-next-20081219; KDE/4.1.3; i686; ; ) Cc: linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org, Sergei Shtylyov References: <494A5BC9.7000605@inf.tu-dresden.de> <200812192001.51335.bzolnier@gmail.com> In-Reply-To: <200812192001.51335.bzolnier@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Disposition: inline Message-Id: <200812291947.52537.bzolnier@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by alpha id mBTJ5ZX1000774 Content-Length: 2936 Lines: 7 On Friday 19 December 2008, Bartlomiej Zolnierkiewicz wrote:> On Thursday 18 December 2008, Mario Schwalbe wrote:> > Resubmitted on request.> > > > According the documentation, id[ATA_ID_DWORD_IO] is non-zero if> > the drive supports dword IO, while the code disables support by> > setting IDE_DFLAG_NO_IO_32BIT. In addition, this word has been> > reused by the ATA8 specification. This patch fixes both cases.> > > > Signed-off-by: Mario Schwalbe > > ---> > drivers/ide/ide-probe.c | 2 +-> > 1 files changed, 1 insertions(+), 1 deletions(-)> > > > diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c> > index c55bdbd..859b0e5 100644> > --- a/drivers/ide/ide-probe.c> > +++ b/drivers/ide/ide-probe.c> > @@ -856,7 +856,7 @@ static void ide_port_tune_devices(ide_hwif_t *hwif)> > ide_drive_t *drive = &hwif->drives[unit];> > > > if ((hwif->host_flags & IDE_HFLAG_NO_IO_32BIT) ||> > - drive->id[ATA_ID_DWORD_IO])> > + !ata_id_has_dword_io(drive->id))> > drive->dev_flags |= IDE_DFLAG_NO_IO_32BIT;> > else> > drive->dev_flags &= ~IDE_DFLAG_NO_IO_32BIT;> > Since it seems that libata developers need more time to fully analyze> issues with ata_id_has_dword_io() and I don't want to delay this fix> because if it could you please modify the patch according to Sergei's> suggestion of removing id[ATA_ID_DWORD_IO] check altogether?> > [ It is a safe thing to do since the old code has been enabling 32-bit> I/O _unless_ the ATA-1 dword I/O bit for VU compatibility was set... ] I merged the patch and did the modification while at it: From: Mario Schwalbe Subject: [PATCH] ide: Fix drive's DWORD-IO handling According the documentation, id[ATA_ID_DWORD_IO] is non-zero ifthe drive supports dword IO, while the code disables support bysetting IDE_DFLAG_NO_IO_32BIT. In addition, this word has beenreused by the ATA8 specification. This patch fixes both cases. Signed-off-by: Mario Schwalbe Cc: Sergei Shtylyov [bart: remove id[ATA_ID_DWORD_IO] check altogether per Sergei's suggestion]Signed-off-by: Bartlomiej Zolnierkiewicz --- drivers/ide/ide-probe.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) Index: b/drivers/ide/ide-probe.c===================================================================--- a/drivers/ide/ide-probe.c+++ b/drivers/ide/ide-probe.c@@ -849,8 +849,7 @@ static void ide_port_tune_devices(ide_hw } ide_port_for_each_dev(i, drive, hwif) {- if ((hwif->host_flags & IDE_HFLAG_NO_IO_32BIT) ||- drive->id[ATA_ID_DWORD_IO])+ if (hwif->host_flags & IDE_HFLAG_NO_IO_32BIT) drive->dev_flags |= IDE_DFLAG_NO_IO_32BIT; else drive->dev_flags &= ~IDE_DFLAG_NO_IO_32BIT; ????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?