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;
