Messages in this thread Patch in this message |  | | Date | Thu, 5 Jul 2001 00:53:37 -0700 (PDT) | From | Andre Hedrick <> | Subject | 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 95035 Web: 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 dale@farnsworth.org > > --- 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |