2.6.23-rc8-mm1, -rc7-mm1 kill audio on HP nx6325 - Kernel
This is a discussion on 2.6.23-rc8-mm1, -rc7-mm1 kill audio on HP nx6325 - Kernel ; Hi,
This patch from Andi:
x86_64-mm-cpa-einval.patch
makes the hda_intel audio driver stop working on my HP nx6325.
The following line appears in dmesg (from 2.6.23-rc7-mm1:
ALSA /home/rafael/src/mm/linux-2.6.23-rc7-mm1/sound/pci/hda/hda_intel.c:1755: hd
a-intel: ioremap error
and the driver doesn't work afterwards.
Still, I'm not ...
-
2.6.23-rc8-mm1, -rc7-mm1 kill audio on HP nx6325
Hi,
This patch from Andi:
x86_64-mm-cpa-einval.patch
makes the hda_intel audio driver stop working on my HP nx6325.
The following line appears in dmesg (from 2.6.23-rc7-mm1:
ALSA /home/rafael/src/mm/linux-2.6.23-rc7-mm1/sound/pci/hda/hda_intel.c:1755: hd
a-intel: ioremap error
and the driver doesn't work afterwards.
Still, I'm not sure if the patch above is wrong or rather it exposes a problem
in the driver.
Greetings,
Rafael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
-
Re: 2.6.23-rc8-mm1, -rc7-mm1 kill audio on HP nx6325
On Tue, 2007-09-25 at 14:08 +0200, Rafael J. Wysocki wrote:
> Hi,
>
> This patch from Andi:
>
> x86_64-mm-cpa-einval.patch
>
> makes the hda_intel audio driver stop working on my HP nx6325.
>
> The following line appears in dmesg (from 2.6.23-rc7-mm1:
>
> ALSA /home/rafael/src/mm/linux-2.6.23-rc7-mm1/sound/pci/hda/hda_intel.c:1755: hd
> a-intel: ioremap error
>
> and the driver doesn't work afterwards.
>
> Still, I'm not sure if the patch above is wrong or rather it exposes a problem
> in the driver.
The patch is correct. Instead of returning "Success" in the case of a
failure of lookup_address, it now returns -EINVAL, which in turn makes
the ioremap fail.
OTOH, the driver ioremap call looks straight forward. Can you apply the
patch below and provide the resulting debug output please ?
Thanks,
tglx
Index: linux-2.6.23-rc8-mm/arch/x86_64/mm/pageattr.c
================================================== =================
--- linux-2.6.23-rc8-mm.orig/arch/x86_64/mm/pageattr.c 2007-09-25 14:05:41.000000000 +0200
+++ linux-2.6.23-rc8-mm/arch/x86_64/mm/pageattr.c 2007-09-25 14:09:35.000000000 +0200
@@ -156,8 +156,10 @@ __change_page_attr(unsigned long address
pgprot_t ref_prot2;
kpte = lookup_address(address);
- if (!kpte)
+ if (!kpte) {
+ printk("lookup failed for %lu\n", address);
return -EINVAL;
+ }
kpte_page = virt_to_page(((unsigned long)kpte) & PAGE_MASK);
BUG_ON(PageCompound(kpte_page));
Index: linux-2.6.23-rc8-mm/sound/pci/hda/hda_intel.c
================================================== =================
--- linux-2.6.23-rc8-mm.orig/sound/pci/hda/hda_intel.c 2007-09-25 14:05:43.000000000 +0200
+++ linux-2.6.23-rc8-mm/sound/pci/hda/hda_intel.c 2007-09-25 14:09:28.000000000 +0200
@@ -1752,7 +1752,8 @@ static int __devinit azx_create(struct s
chip->addr = pci_resource_start(pci, 0);
chip->remap_addr = ioremap_nocache(chip->addr, pci_resource_len(pci,0));
if (chip->remap_addr == NULL) {
- snd_printk(KERN_ERR SFX "ioremap error\n");
+ snd_printk(KERN_ERR SFX "ioremap error: %lu %lu\n",
+ chip->addr, pci_resource_len(pci, 0));
err = -ENXIO;
goto errout;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
-
Re: 2.6.23-rc8-mm1, -rc7-mm1 kill audio on HP nx6325
On Tuesday, 25 September 2007 14:18, Thomas Gleixner wrote:
> On Tue, 2007-09-25 at 14:08 +0200, Rafael J. Wysocki wrote:
> > Hi,
> >
> > This patch from Andi:
> >
> > x86_64-mm-cpa-einval.patch
> >
> > makes the hda_intel audio driver stop working on my HP nx6325.
> >
> > The following line appears in dmesg (from 2.6.23-rc7-mm1:
> >
> > ALSA /home/rafael/src/mm/linux-2.6.23-rc7-mm1/sound/pci/hda/hda_intel.c:1755: hd
> > a-intel: ioremap error
> >
> > and the driver doesn't work afterwards.
> >
> > Still, I'm not sure if the patch above is wrong or rather it exposes a problem
> > in the driver.
>
> The patch is correct. Instead of returning "Success" in the case of a
> failure of lookup_address, it now returns -EINVAL, which in turn makes
> the ioremap fail.
>
> OTOH, the driver ioremap call looks straight forward. Can you apply the
> patch below and provide the resulting debug output please ?
lookup failed for 18446604438082158592
[--snipped some USB messages--]
ALSA /home/rafael/src/mm/linux-2.6.23-rc8-mm1/sound/pci/hda/hda_intel.c:1756: hda-intel: ioremap error: 2349334528 16384
Greetings,
Rafael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
-
Re: 2.6.23-rc8-mm1, -rc7-mm1 kill audio on HP nx6325
On Tue, 2007-09-25 at 15:20 +0200, Rafael J. Wysocki wrote:
> > The patch is correct. Instead of returning "Success" in the case of a
> > failure of lookup_address, it now returns -EINVAL, which in turn makes
> > the ioremap fail.
> >
> > OTOH, the driver ioremap call looks straight forward. Can you apply the
> > patch below and provide the resulting debug output please ?
>
> lookup failed for 18446604438082158592
> [--snipped some USB messages--]
> ALSA /home/rafael/src/mm/linux-2.6.23-rc8-mm1/sound/pci/hda/hda_intel.c:1756: hda-intel: ioremap error: 2349334528 16384
Stupid me, hex formatting would have been easier to read 
Lookup failed for 0xFFFF 8100 8C08 0000
ioremap: 0x0000 0000 8C08 0000 length 16384
It seems, that this patch only reveals some other wreckage. The code is
called as part of ioremap, where it adjusts the caching attributes of
the mapping, which was setup right before change_page_attr_address() is
called.
tglx
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
-
Re: 2.6.23-rc8-mm1, -rc7-mm1 kill audio on HP nx6325
On Tuesday, 25 September 2007 15:44, Thomas Gleixner wrote:
> On Tue, 2007-09-25 at 15:20 +0200, Rafael J. Wysocki wrote:
> > > The patch is correct. Instead of returning "Success" in the case of a
> > > failure of lookup_address, it now returns -EINVAL, which in turn makes
> > > the ioremap fail.
> > >
> > > OTOH, the driver ioremap call looks straight forward. Can you apply the
> > > patch below and provide the resulting debug output please ?
> >
> > lookup failed for 18446604438082158592
> > [--snipped some USB messages--]
> > ALSA /home/rafael/src/mm/linux-2.6.23-rc8-mm1/sound/pci/hda/hda_intel.c:1756: hda-intel: ioremap error: 2349334528 16384
>
> Stupid me, hex formatting would have been easier to read 
>
> Lookup failed for 0xFFFF 8100 8C08 0000
> ioremap: 0x0000 0000 8C08 0000 length 16384
>
> It seems, that this patch only reveals some other wreckage. The code is
> called as part of ioremap, where it adjusts the caching attributes of
> the mapping, which was setup right before change_page_attr_address() is
> called.
Hm, it looks like the first address is a kernel one and the second one is
physical, so they apparently match, which means that the lookup shouldn't fail,
if I understand this correctly.
Greetings,
Rafael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
-
Re: 2.6.23-rc8-mm1, -rc7-mm1 kill audio on HP nx6325
On Tue, 2007-09-25 at 16:29 +0200, Rafael J. Wysocki wrote:
> > > lookup failed for 18446604438082158592
> > > [--snipped some USB messages--]
> > > ALSA /home/rafael/src/mm/linux-2.6.23-rc8-mm1/sound/pci/hda/hda_intel.c:1756: hda-intel: ioremap error: 2349334528 16384
> >
> > Stupid me, hex formatting would have been easier to read 
> >
> > Lookup failed for 0xFFFF 8100 8C08 0000
> > ioremap: 0x0000 0000 8C08 0000 length 16384
> >
> > It seems, that this patch only reveals some other wreckage. The code is
> > called as part of ioremap, where it adjusts the caching attributes of
> > the mapping, which was setup right before change_page_attr_address() is
> > called.
>
> Hm, it looks like the first address is a kernel one and the second one is
> physical, so they apparently match, which means that the lookup shouldn't fail,
> if I understand this correctly.
Yes, the lookup address is virtual and it should be the one, which was
mapped right before the call to change_page_attr_address(). I'm looking
into that right now.
tglx
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/