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

Bug#598518: linux-image-2.6-686: ata_piix module loaded before ahci module deactivate hotplug support (regression from lenny)



Ben Hutchings <ben@decadent.org.uk>:
> modules.order is generated during the kernel build process and will be
> copied into the initramfs by update-initramfs if present.
>
> However, we currently delete modules.* when creating the image packages,
> because we assume all those files are generated by depmod.  Oops.

dann frazier <dannf@debian.org>:
> We believe that the bug you reported is fixed in the latest version of
> linux-2.6, which is due to be installed in the Debian FTP archive:

> linux-headers-2.6.32-5-686_2.6.32-25_i386.deb
>  to main/l/linux-2.6/linux-headers-2.6.32-5-686_2.6.32-25_i386.deb

I've just installed a fresh Squeeze and I got the new kernel :

# apt-cache show linux-image-2.6.32-5-686 | grep ^Version
Version: 2.6.32-25

I have the 2.6.32-25, wich was announced to solve the problem,
and yes this new one put modules.order in initramfs

# gunzip < initrd.img-2.6.32-5-686 | cpio -i --make-directories
45807 blocs

# find . -iname "*module*"
./lib/modules
./lib/modules/2.6.32-5-686/modules.softdep
./lib/modules/2.6.32-5-686/modules.symbols
./lib/modules/2.6.32-5-686/modules.symbols.bin
./lib/modules/2.6.32-5-686/modules.order
./lib/modules/2.6.32-5-686/modules.alias
./lib/modules/2.6.32-5-686/modules.dep
./lib/modules/2.6.32-5-686/modules.dep.bin
./lib/modules/2.6.32-5-686/modules.devname
./lib/modules/2.6.32-5-686/modules.alias.bin
./conf/modules

and ahci module appear before ata_piix in modules.order

# grep 'ahci\|ata_piix' ./lib/modules/2.6.32-5-686/modules.order
kernel/drivers/ata/ahci.ko
kernel/drivers/ata/ata_piix.ko

but the wrong module is always loaded :

# lspci -vvv -s 00:1f.2 | grep 'SATA\|Kernel driver'
00:1f.2 SATA controller: Intel Corporation 82801FR/FRW (ICH6R/ICH6RW)
SATA Controller (rev 03) (prog-if 01 [AHCI 1.0])
	Kernel driver in use: ata_piix

modules.order does'nt change anything.

Prevously quoted modules.aliases shows me a workaround for another
(unrelated) problem :

>From module.aliases :
> # work around other kernel issues ############################################
> # The EHCI driver should be loaded before the ones for low speed controllers
> # or some devices may be confused when they are disconnected and reconnected.
> softdep uhci-hcd pre: ehci-hcd
> softdep ohci-hcd pre: ehci-hcd

I wrote a similar workaround to force ahci loading before ata_piix module :

# cat >> /etc/modprobe.d/aliases.conf <<\EOF
softdep ata_piix pre: ahci
EOF

# update-initramfs -k all -u
update-initramfs: Generating /boot/initrd.img-2.6.32-5-686

# reboot

# lspci -vvv -s 00:1f.2 | grep 'SATA\|Kernel driver'
00:1f.2 SATA controller: Intel Corporation 82801FR/FRW (ICH6R/ICH6RW)
SATA Controller (rev 03) (prog-if 01 [AHCI 1.0])
	Kernel driver in use: ahci

This workaround works and is cleaner than blacklisting ata_piix before
modprobing it :-)
But this is a workaround (a clean hack, but a hack, not a fix) and
Lenny kernel (2.6.26) does'nt need this workaround.
With Lenny, the job of knowing that two modules could be used, knowing
that one is better than another and choosing the good one is done by
software.
With Squeeze, this job is done by man...

Perhaps the bug is not related to the linux-image package, but a
collateral damage of another package ?

This bug is not fixed.



Reply to: