On Tue, Aug 5, 2008 at 4:26 PM, Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx> wrote: > Hello. > > Borislav Petkov wrote: > >> Avoid probing the io-ports in case an IDE PCI controller is present and it >> uses >> the legacy iobases. If we still want to enforce the probing, we do > >> ide_generic.probe_mask=0x3f > >> on the kernel command line. The iobase checking code is adapted from >> drivers/ata/pata_legacy.c > >> Signed-off-by: Borislav Petkov <petkovbb@xxxxxxxxx> > >> diff --git a/drivers/ide/ide-generic.c b/drivers/ide/ide-generic.c >> index 8fe8b5b..e9b7b69 100644 >> --- a/drivers/ide/ide-generic.c >> +++ b/drivers/ide/ide-generic.c > > [...] >> >> @@ -100,19 +100,71 @@ static const u16 legacy_bases[] = { 0x1f0, 0x170, >> 0x1e8, 0x168, 0x1e0, 0x160 }; >> static const int legacy_irqs[] = { 14, 15, 11, 10, 8, 12 }; >> #endif >> + > > Extra newline... > >> +static void ide_generic_check_pci_legacy_iobases(int *primary, int >> *secondary) >> +{ >> + struct pci_dev *p = NULL; >> + u16 val; >> + >> + for_each_pci_dev(p) { >> + int r; >> + >> + for (r = 0; r < 6; r++) { >> + if (pci_resource_start(p, r) == 0x1f0) >> + *primary = 1; >> + if (pci_resource_start(p, r) == 0x170) >> + *secondary = 1; >> + } >> + >> + /* Cyrix CS5510 pre SFF MWDMA ATA on the bridge */ >> + if (p->vendor == 0x1078 && p->device == 0x0000) >> + *primary = *secondary = 1; >> + >> + /* Cyrix CS5520 pre SFF MWDMA ATA on the bridge */ >> + if (p->vendor == 0x1078 && p->device == 0x0002) >> + *primary = *secondary = 1; > > I think the above two if statements should be collapsed into a single one. This is code is actually from the pata_legacy.c but yep, you're right, those can merge. > >> + >> + /* Intel MPIIX - PIO ATA on non PCI side of bridge */ >> + if (p->vendor == 0x8086 && p->device == 0x1234) { > > Also, perhaps it makes sense to #include <linux/pci_ids.h> and use the > macros defined there... Will look into it later and redo the patch, thanks for reviewing. I still haven't heard from Bart, though, whether he's OK with the code duplication...? -- Regards/Gruß, Boris -- 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