Messages in this thread |  | | | From | Bartlomiej Zolnierkiewicz <> | | Subject | Re: [PATCH] fix issues with loading PCI ide drivers as modules (linux 2.6.0) | | Date | Mon, 5 Jan 2004 15:16:03 +0100 |
| |
On Monday 05 of January 2004 03:09, Davin McCall wrote: > Sure, the current code doesn't cause a crash - but it's very, very ugly. It > generates some confusing error messages, and it makes it look like the > module has taken control of the IDE interfaces but really the drives > haven't been re-probed etc. > > Is this not worth fixing?
You are right. Thanks for very good explanation.
> > Ehh, more hwif->chipset crap. > > Alright, this newer patch below mostly avoids the "hwif->chipset crap" (it > doesn't introduce any new chipset types). But it has to export the > "initializing" variable from ide.c (I changed its name to > "ide_initializing").
You don't need to export "initializing" variable from ide.c, just use "pre_init" variable from setup-pci.c :-).
> Plus, everything works as before - including "idex=..." parameters.
Except when using them for IDE PCI modules with non default ports: - hwif->chipset is set to ide_generic during boot - main IDE driver initialization - module load fails (because hwif->chipset == ide_generic && !initializing)
You can fix it by replacing all current occurrences of ide_generic by some new type (ide_forced). It will also clear confusion about ide_generic name.
> @@ -1343,6 +1343,7 @@ > int unit; > if (!hwif->present) > continue; > + if (hwif->chipset == ide_unknown) hwif->chipset = ide_generic;
very minor nitpick:
if (hwif->chipset == ide_unknown) hwif->chipset = ide_generic; Please correct patch and I will merge it.
cheers, --bart
- 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/
|  |