Re: Patch for IDE hang after resetting quirk drive
Looks valid will take! Cheers, Andre Hedrick ASL Kernel Development Linux ATA Development - ASL, Inc. Toll free: 1-877-ASL-3535 1757 Houret Court Fax: 1-408-941-2071 Milpitas, CA 95035Web: www.aslab.com On Tue, 3 Jul 2001, Dale Farnsworth wrote: > I have a Promise PDC20265 ide controller with one of the "quirk" drives, > a Quantum Fireballp LM30. That drive has a bad sector and accessing > it would result in a DMA timeout. Unfortunately, after the IDE driver > resets the controller, the drive never responded. > > The following patch appears to correct the problem. It duplicates > the workaround for "quirky" drives found in ide-features.c > > -Dale > > Dale Farnsworth [EMAIL PROTECTED] > > --- oldlinux-2.4.5/drivers/ide/ide.c Tue Jul 3 09:35:57 2001 > +++ linux-2.4.5/drivers/ide/ide.c Tue Jul 3 09:23:58 2001 > @@ -758,7 +758,10 @@ >*/ > OUT_BYTE(drive->ctl|6,IDE_CONTROL_REG); /* set SRST and nIEN */ > udelay(10); /* more than enough time */ > - OUT_BYTE(drive->ctl|2,IDE_CONTROL_REG); /* clear SRST, leave nIEN */ > + if (drive->quirk_list == 2) > + OUT_BYTE(drive->ctl, IDE_CONTROL_REG); /* clear SRST and nIEN */ > + else > + OUT_BYTE(drive->ctl|2,IDE_CONTROL_REG); /* clear SRST only */ > udelay(10); /* more than enough time */ > hwgroup->poll_timeout = jiffies + WAIT_WORSTCASE; > ide_set_handler (drive, _pollfunc, HZ/20, NULL); > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Patch for IDE hang after resetting quirk drive
Looks valid will take! Cheers, Andre Hedrick ASL Kernel Development Linux ATA Development - ASL, Inc. Toll free: 1-877-ASL-3535 1757 Houret Court Fax: 1-408-941-2071 Milpitas, CA 95035Web: www.aslab.com On Tue, 3 Jul 2001, Dale Farnsworth wrote: I have a Promise PDC20265 ide controller with one of the quirk drives, a Quantum Fireballp LM30. That drive has a bad sector and accessing it would result in a DMA timeout. Unfortunately, after the IDE driver resets the controller, the drive never responded. The following patch appears to correct the problem. It duplicates the workaround for quirky drives found in ide-features.c -Dale Dale Farnsworth [EMAIL PROTECTED] --- oldlinux-2.4.5/drivers/ide/ide.c Tue Jul 3 09:35:57 2001 +++ linux-2.4.5/drivers/ide/ide.c Tue Jul 3 09:23:58 2001 @@ -758,7 +758,10 @@ */ OUT_BYTE(drive-ctl|6,IDE_CONTROL_REG); /* set SRST and nIEN */ udelay(10); /* more than enough time */ - OUT_BYTE(drive-ctl|2,IDE_CONTROL_REG); /* clear SRST, leave nIEN */ + if (drive-quirk_list == 2) + OUT_BYTE(drive-ctl, IDE_CONTROL_REG); /* clear SRST and nIEN */ + else + OUT_BYTE(drive-ctl|2,IDE_CONTROL_REG); /* clear SRST only */ udelay(10); /* more than enough time */ hwgroup-poll_timeout = jiffies + WAIT_WORSTCASE; ide_set_handler (drive, reset_pollfunc, HZ/20, NULL); - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/