Thread (21 messages) 21 messages, 2 authors, 2004-02-05

Re: [PATCH] fix issues with loading PCI ide drivers as modules (linux 2.6.0)

From: Bartlomiej Zolnierkiewicz <hidden>
Date: 2004-01-05 14:13:15
Also in: lkml

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.
quoted
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.
quoted hunk ↗ jump to hunk
@@ -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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help