Re: 2.6.10: e100 network broken after swsusp/resume

From: Barry K. Nathan (barryn_at_pobox.com)
Date: 01/03/05

  • Next message: Dave Airlie: "Re: 2.6.{9,10}: VIA DRM undefined symbols"
    Date:	Mon, 3 Jan 2005 00:31:55 -0800
    To: "Barry K. Nathan" <barryn@pobox.com>
    
    

    On Sun, Jan 02, 2005 at 09:10:18PM -0800, Barry K. Nathan wrote:
    > So, I think this bug probably lies in ACPI or swsusp. I highly *highly*
    > doubt it's driver bugs. Hopefully I'll have time later tonight or
    > tomorrow morning to see if I can figure anything else out...

    The following patch is a ridiculously dirty kludge which (very arguably)
    improves the situation somewhat:

    --- linux-2.6.10-bk4/arch/i386/kernel/mpparse.c 2004-12-14 03:17:21.723010806 -0800
    +++ linux-2.6.10-bk4-bkn1/arch/i386/kernel/mpparse.c 2005-01-02 23:43:13.647613575 -0800
    @@ -1091,9 +1091,10 @@
                     return gsi;
             }
             if ((1<<bit) & mp_ioapic_routing[ioapic].pin_programmed[idx]) {
    - Dprintk(KERN_DEBUG "Pin %d-%d already programmed\n",
    + printk(KERN_DEBUG "Pin %d-%d already programmed\n",
                             mp_ioapic_routing[ioapic].apic_id, ioapic_pin);
    - return gsi;
    + /* return gsi; */
    + printk(KERN_DEBUG "However, I will reprogram it anyway.\n");
             }
     
             mp_ioapic_routing[ioapic].pin_programmed[idx] |= (1<<bit);

    With this patch, unloading and reloading 8139too will make it work again
    after a resume -- as long as I boot *without* "noapic". This doesn't fix
    the actual problem (it's still broken after resume, and reloading the
    module still doesn't work for "noapic") but it might provide clues.

    More specifically, this shows that the
    mp_ioapic_routing[ioapic].pin_programmed[] array is inconsistent with
    the IO-APIC's real configuration after the resume.

    I think the reason that "pci=routeirq" works is that, with that option,
    the kernel sets up everything on the IO-APIC early in bootup and leaves
    nothing to be done later on -- that way, the IO-APIC ends up having the
    same setup after the resume that it did at suspend time. At leas, that's
    what I suspect; I don't think I've proven it yet. I wouldn't be
    surprised if a similar phenomenon is happening with acpi=off.

    Anyway, I'm going to keep working on this and see if I can figure it out
    some more...

    -Barry K. Nathan <barryn@pobox.com>

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


  • Next message: Dave Airlie: "Re: 2.6.{9,10}: VIA DRM undefined symbols"

    Relevant Pages

    • Re: 2.6.12-rc2-mm3
      ... does the patch below fix the problem for you? ... register upon reloading. ... Now maybe reload the debug registers ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: 2.6.10: e100 network broken after swsusp/resume
      ... >> doubt it's driver bugs. ... > The following patch is a ridiculously dirty kludge which ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: [parisc-linux] Re: [PATCH 3/9] mm: parisc pte atomicity
      ... using your own tmpalias area sounds much better than getting ... I've simply not wrapped my head around the races, ... it looks like we agree that my patch is necessary and valid as is; ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: keyboard - was: Re: Linux 2.6.0-test4
      ... >> I was able to get the key unstuck by switching back and forth between ... I rebuild my kernel including your patch; ... I'll get back to you once I verify that the problem doesn't occur ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: 2.6.0-test8/test9 io scheduler needs tuning?
      ... interactivity with regard to desktop use. ... Going to improve the time info output of the ddd loops to get better data and ... with the patch the hang reported earlier was not encountered again so ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)