Red Hat Bugzilla – Bug 137451
rh40-beta1, ata-piix driver bug causing LSI ICHxR RAID driver to fail
Last modified: 2009-07-27 12:38:59 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET
Description of problem:
If ata_piix driver is loaded LSI RAID driver could not get ICH5R /
ICH6R RAID controller resources. We had a chance to debug the issue.
Here are our findings.
Ata_piix is configured to load for any PCI IDâs so it will try to
load on MegaRAID ICHxR controller but it will fail at ata_bus_probe
function call (see ata_device_add function in libata-core.c).
But the successive tear down (unloading) process, in case of failure,
is not implemented properly. So LSI RAID driver cannot access ICHxR
resources and load. Is it possible to change ata_piix driver to fix
this issue / prevent ata_piix from loading for LSI RAID controllers.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Install RH40-Beta1 on system with ICHxR RAID controller
2.You can see ata_piix is not loading successfully.
Is LSI proposing a fix here?
LSI is not proposing the fix, there is lot to do to fix it. We are
reporting the issue.
It appears to us that the appropriate resources are being released.
Due to the fact that modprobe+rmmod+modprobe works properly. Can you
be more helpful in identifying whats not being released?
Is this failure also present on RHEL3? Or is it specific to RHEL4?
Sorry for the delay. I was on vaction.
This problem happens when the ICHxR in Legacy mode, Not in native
mode. To my knowledge this failure was present in different releases.
This is the description of issue from our side
From our debugging we saw that the ata_piix/libata driver fail at
ata_bus_probe function call, if the chipset is configured in legacy
mode. But the successive tear down (unloading) process in the driver,
in case of failure, is not implemented properly(see ata_devive_add
function in libata-core.c). So LSI RAID driver cannot access ICHxR
resources once after the ata_piix driver tries to load.
To make sure this is an issue with the ata_piix driver we avoided
ata_piix in initrd image and booted the system, then installed LSI
RAID driver. In this case every thing works fine.
So we request following, if ata_piix fails to load, complete the
unloading process perfectly, including the release of resources and
Closing this one out, code base as changed significantly and both ITs have
been closed out, please re-open if necessary.