[lkml]   [2000]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[patch] I-Opener fix (again)
It's been a few months (and a couple of kernel releases) since I mentioned this
before and it doesn't look like it's made it in, and I haven't seen any more
comments on it in the list archives, so I'm bringing it up again in case it
just got forgotten about somewhere along the line..

As I remember, Andre Hedrick had asked for clarification on my original post,
and I sent a followup message in response, but now I can't seem to find it
anywhere in the archives, so I don't know whether it never made it out of my
mailer or..

In any case, attached is a patch (against 2.4.0pre11) which fixes the bug which
causes disk detection issues on I-Opener (and possibly other unusual) hardware.

The problem is that the code assumes that a flash-disk will always be the
primary disk on an interface, but on the I-Opener this is not always the case.
If a traditional disk is primary, and a flashdisk is secondary, the detection
code (wrongly) disables the primary disk that it had already previously

I would like to see this make it into the official source as it's a very small
change that fixes some obviously wrong behavior..

--- drivers/ide/ide-probe.c.orig Mon Dec 11 14:59:08 2000
+++ drivers/ide/ide-probe.c Mon Dec 11 15:00:13 2000
@@ -161,8 +161,8 @@
* Prevent long system lockup probing later for non-existant
* slave drive if the hwif is actually a flash memory card of some variety:
- if (drive_is_flashcard(drive)) {
- ide_drive_t *mate = &HWIF(drive)->drives[1^drive->select.b.unit];
+ if (!drive->select.b.unit && drive_is_flashcard(drive)) {
+ ide_drive_t *mate = &HWIF(drive)->drives[1];
if (!mate->ata_flash) {
mate->present = 0;
mate->noprobe = 1;
 \ /
  Last update: 2005-03-22 13:28    [W:0.214 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site