Re: piix module in 2.4.27 doesn't work
Le Thu, 26 Aug 2004 16:47:05 +0200, Sven Luther <sven.luther@wanadoo.fr> a
écrit :
> On Thu, Aug 26, 2004 at 04:17:02PM +0200, Frédéric BOITEUX wrote:
> > Le Thu, 26 Aug 2004 13:36:11 +0100, Martin Michlmayr <tbm@cyrius.com> a
> > écrit :
> >
> > > * Frédéric BOITEUX <fboiteux@calistel.com> [2004-08-26 11:34]:
> > > > Yes, it's a known bug, see #266510 and #266538. It seems to impact
> > > > all IDE drivers (all I tested at least !) The bug remains in last
> > > > 2.4.27-4 source package...
> > >
> > > Eww, that's pretty serious. No IDE DMA means everything is dog
> > > slow... I've no idea if this is a kernel bug or something in
> > > initrd-tools... however, if we cannot find out, we should go with
> > > 2.4.26 for sarge... (hah, getting annoyed about all the .26 vs .27
> > > yet? ;-).
> > > --
> >
> > I'm agree with you ! Either you have IDE without DMA, annoying
> > to install lot of packages on the hard disk, either you don't see your
> > disks,
> > much annoying ;-P !
> > Alas, I'm not a Linux Kernel guru to know if it's a pristine kernel
> > bug or
> > related to Debian packaging...
>
Hello,
I've run some tests about the IDE / DMA problem with Debian 2.4.27 kernel,
and
I found that :
- Debian kernel 2.4.26-6 :
* ide chipsets detected correctly (piix and cmd64x on my host)
* DMA activated
* pseudo-files /proc/ide/<driver> exist
- Debian kernel 2.4.27-2 :
* ide chipsets don't detected (no messages in dmesg, piix and cmd64x
modules are 'unused' for lsmod)
* DMA *not* activated
* pseudo-files /proc/ide/<driver> don't exist
- pristine kernel 2.4.27 :
* ide chipsets detected correctly (piix and cmd64x on my host)
* DMA activated
* pseudo-files /proc/ide/<driver> don't exist
- pristine kernel 2.4.28-pre2 :
* ide chipsets detected correctly (piix and cmd64x on my host)
* DMA activated
* pseudo-files /proc/ide/<driver> don't exist
- alongside, the USB2 bug (#266621) is always present even in 2.4.28-pre2
version.
It seems that some patches of Debian kernel-source-2.4.26 (in
kernel-source-2.4.26_2.4.26-6.d
iff.gz) for ide-probe.c or ide-proc.c (and perhaps others)
has disappeared in kernel-source-2.4.27_2.4.27-4.diff.gz, and the resulting
files are a bit different :
diff kernel-source-2.4.26-2.4.26/drivers/ide/ide-probe.c
/usr/src/linux-2.4.27/drivers/ide/
1428,1432c1428
<
< ide_xlate_1024_hook = ide_xlate_1024;
< #ifdef CONFIG_BLK_DEV_IDEPCI
< ide_scan_pcibus();
< #endif /* CONFIG_BLK_DEV_IDEPCI */
---
>
1437c1433
< ide_driver_module(1);
---
> ide_xlate_1024_hook = ide_xlate_1024;
The 'ide_scan_pcibus();' call seems to have disappeared...
diff kernel-source-2.4.26-2.4.26/drivers/ide/ide-proc.c
/usr/src/linux-2.4.27/drivers/ide/
898,907d897
< static inline void create_pci_proc_entry(ide_pci_host_proc_t *p)
< {
< if (p->name == NULL || p->set != 1 || p->get_info == NULL)
< return;
<
< p->parent = proc_ide_root;
< create_proc_info_entry(p->name, 0, p->parent, p->get_info);
< p->set = 2;
< }
<
921,923d910
<
< if (proc_ide_root)
< create_pci_proc_entry(p);
947c934,939
< create_pci_proc_entry(p);
---
> if (p->name != NULL && p->set == 1 && p->get_info != NULL)
> {
> p->parent = proc_ide_root;
> create_proc_info_entry(p->name, 0, p->parent,
> p->get_info); p->set = 2;
> }
The call 'if (proc_ide_root) create_pci_proc_entry(p); ' is no more present
... Perhaps it can
explain the /proc/ide/<driver> disparition...
My 2¢,
Fred.
Reply to: