Skip to contentSkip to conversation

Linux 2.6.0-test9

DISCUSSION P. Christeas 2 participants 3 messages Oct 26, 2003 – Oct 27, 2003

lore
Share & tools
lore
#0 lore raw
Quoted 11 lines

From Andries.Brouwer:
Three things:

2.6.0t9 still can leave the user with a dead keyboard If Vojtech does not provide a better patch I suppose you should apply my patch of a few days ago.

Within a few days two people have reported that they cannot mount a FAT fs that 2.4 and Windows handle fine. Probably also that should be fixed, for example with my patch from yesterday.

One more, (as reported a few weeks ago):
rmmod aic7xxx
will fail, as this module uses some wrong locks. This will also block sleeping (tested w. ACPI) if the module is there.
IMHO this module is crucial to many systems.

I'm just repeating this issue, as I cannot see any patch for that. Justin has not replied (I will need to be CC'ed). Andrew, who's the maintainer? I wish I could help myself solve that, but fixing SMP-safe locks seems the hardest thing I could do here. Somebody has to help here.

#1 lore raw
Quoted 6 lines · P. Christeas

One more, (as reported a few weeks ago):
rmmod aic7xxx
will fail, as this module uses some wrong locks. This will also block sleeping (tested w. ACPI) if the module is there.
IMHO this module is crucial to many systems.

The rmmod works OK for me, in the sense that the module is removed, the kernel doesn't crash and the module can be reloaded.

But yes, there are several locking problems in there:

- ahc_free() now sleeps, deep down in the kobject layer somewhere (it calls /sbin/hotplug).

This is a likely fix for that:

drivers/scsi/aic7xxx/aic7xxx_osm_pci.c renamed from drivers/scsi/aic7xxx/aic7xxx_osm_pci.c~aic7xxx-sleep-in-spinlock-fix +2 -1
@@ -100,9 +100,10 @@ ahc_linux_pci_dev_remove(struct pci_dev 
 		ahc_lock(ahc, &s);
 		ahc_intr_enable(ahc, FALSE);
 		ahc_unlock(ahc, &s);
-		ahc_free(ahc);
 	}
 	ahc_list_unlock(&l);
+	if (ahc)
+		ahc_free(ahc);
 }
 #endif /* !LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) */
 

- ahc_linux_kill_dv_thread() is called under ahc_list_lock(), but it sleeps.

Quoted 2 lines

I'm just repeating this issue, as I cannot see any patch for that. Justin has not replied (I will need to be CC'ed). Andrew, who's the maintainer?

Justin is.

Quoted 3 lines

I wish I
could help myself solve that, but fixing SMP-safe locks seems the hardest thing I could do here. Somebody has to help here.

Well we can live with the CONFIG_DEBUG_SPINLOCK_SLEEP warnings I guess. But you don't actually say what goes wrong when you run rmmod. Does the kernel oops? Lock up? What?

#2 lore raw

Re: Linux 2.6.0-test9, aic7xxx [passed]

Quoted 11 lines
Quoted 5 lines · P. Christeas

One more, (as reported a few weeks ago):
rmmod aic7xxx
will fail, as this module uses some wrong locks. This will also block sleeping (tested w. ACPI) if the module is there.
IMHO this module is crucial to many systems.

The rmmod works OK for me, in the sense that the module is removed, the kernel doesn't crash and the module can be reloaded.

Quoted 7 lines

But yes, there are several locking problems in there:

- ahc_free() now sleeps, deep down in the kobject layer somewhere (it calls /sbin/hotplug).

This is a likely fix for that:

You 're right. I just tested -test9 and it can fully rmmod the module. I recall that in -test5, 7 the module wouldn't be cleaned, but now it's OK. The warnings (enabled by the .config option) still appear (several of them). I am on a UP, however and don't know if a SMP system would happen to have trouble. I'll also give your patch a try.

Thanks.