On Mon, 14 Mar 2005 18:54:10 +0100, David Meier <[EMAIL PROTECTED]> wrote:
> I get DMA errors after resuming from suspend (S3).
> 
> I had switched DMA off before suspending.

...

This should be fixed in ide-dev-2.6 tree and in -mm series.
Alternatively you can try attached patch.

Bartlomiej
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2005/02/03 21:47:18+01:00 [EMAIL PROTECTED](none) 
#   [ide] fix via82cxxx resume failure
#   
#   With David Woodhouse <[EMAIL PROTECTED]>.
#   
#   On resume from sleep, via_set_speed() doesn't reinstate the correct
#   mode, because it thinks the drive is already configured correctly.
#   
#   Also kill redundant printk, ide_config_drive_speed() warns about errors.
# 
# drivers/ide/pci/via82cxxx.c
#   2005/02/03 21:47:05+01:00 [EMAIL PROTECTED](none) +2 -5
#   [ide] fix via82cxxx resume failure
# 
diff -Nru a/drivers/ide/pci/via82cxxx.c b/drivers/ide/pci/via82cxxx.c
--- a/drivers/ide/pci/via82cxxx.c	2005-03-18 17:26:38 +01:00
+++ b/drivers/ide/pci/via82cxxx.c	2005-03-18 17:26:38 +01:00
@@ -332,11 +332,8 @@
 	struct ide_timing t, p;
 	unsigned int T, UT;
 
-	if (speed != XFER_PIO_SLOW && speed != drive->current_speed)
-		if (ide_config_drive_speed(drive, speed))
-			printk(KERN_WARNING "ide%d: Drive %d didn't "
-				"accept speed setting. Oh, well.\n",
-				drive->dn >> 1, drive->dn & 1);
+	if (speed != XFER_PIO_SLOW)
+		ide_config_drive_speed(drive, speed);
 
 	T = 1000000000 / via_clock;
 

Reply via email to