[PATCH] Fix interface autodetection in legacy IDE driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch fixes the automatic setting of ide_generic.probe_mask,
when it is set to zero (like when default options are used) AND
the PCI subsystem has detected primary and/or secondary interfaces.

The effect is that those interfaces go undetected under those
conditions.

The former implementation misunderstands the information detected by
the PCI subsystem, and may only work if one use ide_generic.probe_mask
set to 0x3f (or 0x03, minimally), like the suggestion echoed to the
console.

Probably this has been stayed under the radar because everybody
migrated to libata. Anyway, IMHO it's worth to fix it, as the code isn't
entirely dead.

If I'm not wrong, this change applies to kernels from 2009 up to now.

Signed-off-by: Luiz Carlos Ramos <lramos.prof@xxxxxxxxxxxx>
---
diff --git a/drivers/ide/ide-generic.c b/drivers/ide/ide-generic.c
index 54d7c4685d23aa5e62ce606e7b994a57bb54b08a..419818a39c270d3ad219e8f7b5df56a9aea3d640 100644
--- a/drivers/ide/ide-generic.c
+++ b/drivers/ide/ide-generic.c
@@ -96,10 +96,10 @@ static int __init ide_generic_init(void)
printk(KERN_INFO DRV_NAME ": please use \"probe_mask=0x3f\" "
"module parameter for probing all legacy ISA IDE ports\n");

-               if (primary == 0)
+               if (primary)
probe_mask |= 0x1;

-               if (secondary == 0)
+               if (secondary)
probe_mask |= 0x2;
} else
printk(KERN_INFO DRV_NAME ": enforcing probing of I/O ports "
-- 
2.8.2
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux