[<prev] [next>] [day] [month] [year] [list]
Message-Id: <200910070027.35193.bzolnier@gmail.com>
Date: Wed, 7 Oct 2009 00:27:35 +0200
From: Bartlomiej Zolnierkiewicz <bzolnier@...il.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: "David S. Miller" <davem@...emloft.net>,
Joao Ramos <joao.ramos@...v.pt>, David Fries <david@...es.net>,
d.stussy@...oo.com, stable@...nel.org, linux-ide@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH 1/2] sis5513: fix PIO setup for ATAPI devices
From: Bartlomiej Zolnierkiewicz <bzolnier@...il.com>
Subject: [PATCH] sis5513: fix PIO setup for ATAPI devices
Clear prefetch setting before potentially (re-)enabling it in
config_drive_art_rwp() so the transition of the device type on
the port from ATA to ATAPI (i.e. during warm-plug operation)
is handled correctly.
This is a really old bug (it probably goes back to very early
days of the driver) but it was only affecting warm-plug operation
until the recent "ide: try to use PIO Mode 0 during probe if
possible" change (commit 6029336426a2b43e4bc6f4a84be8789a047d139e).
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@...il.com>
Cc: David S. Miller <davem@...emloft.net>
Cc: Joao Ramos <joao.ramos@...v.pt>
Cc: David Fries <david@...es.net>
Cc: d.stussy@...oo.com
Cc: stable@...nel.org
---
Oh, if you're curious pata_sis doesn't have the bug but the fix
was never backported for some unknown reasons..
drivers/ide/sis5513.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Index: b/drivers/ide/sis5513.c
===================================================================
--- a/drivers/ide/sis5513.c
+++ b/drivers/ide/sis5513.c
@@ -2,7 +2,7 @@
* Copyright (C) 1999-2000 Andre Hedrick <andre@...ux-ide.org>
* Copyright (C) 2002 Lionel Bouton <Lionel.Bouton@...t6.fr>, Maintainer
* Copyright (C) 2003 Vojtech Pavlik <vojtech@...e.cz>
- * Copyright (C) 2007 Bartlomiej Zolnierkiewicz
+ * Copyright (C) 2007-2009 Bartlomiej Zolnierkiewicz
*
* May be copied or modified under the terms of the GNU General Public License
*
@@ -281,6 +281,8 @@ static void config_drive_art_rwp(ide_dri
pci_read_config_byte(dev, 0x4b, ®4bh);
+ reg4bh &= ~(0x11 << drive->dn);
+
if (drive->media == ide_disk)
rw_prefetch = 0x11 << drive->dn;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists