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

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: