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 ...

+ Reply to Thread
Results 1 to 6 of 6

Thread: 2.6.23-rc8-mm1, -rc7-mm1 kill audio on HP nx6325

  1. 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/

  2. 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/

  3. 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/

  4. 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/

  5. 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/

  6. 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/

+ Reply to Thread