lkml.org 
[lkml]   [2001]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Date
SubjectPatch for IDE hang after resetting quirk drive
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/
\
 
 \ /
  Last update: 2005-03-22 12:56    [W:0.039 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site