Re: [PATCH] Fix interface autodetection in legacy IDE driver

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

 



Sergei:

Many thanks for your patience and careful review! I apologize for
those mistakes.

Here I'll send a hopefully corrected version:





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 IDE 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.

Signed-off-by: Luiz Carlos Ramos <lramos.prof@xxxxxxxxxxxx>
---
 drivers/ide/ide-generic.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

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



On Tue, Aug 09, 2016 at 04:50:15PM +0300, Sergei Shtylyov wrote:
> Hello.
> 
> On 08/09/2016 01:47 PM, lramos.prof@xxxxxxxxxxxx wrote:
> 
> >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
> 
>    Has stayed, maybe?
> 
> >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;
> 
>    Your patch is line wrapped...
> 
> >
> >-               if (secondary == 0)
> >+               if (secondary)
> >probe_mask |= 0x2;
> >} else
> >printk(KERN_INFO DRV_NAME ": enforcing probing of I/O ports "
> 
>    ... and whitespace damaged too. :-(
> 
> MBR, Sergei
> 
--
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