[lkml]   [2009]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Patch "USB: Work around BIOS bugs by quiescing USB controllers earlier" causes MCEs
    On Tue, 2009-10-06 at 06:44 +0200, Nick Piggin wrote:
    > > Changing this quirk back to a FIXUP_FINAL allows the platform's PCI
    > > init to complete. Later on the generic pci_init() calls the quirk,
    > > which now gets the correct I/O base address, and the outw()s in
    > > uhci_reset_hc() don't fail.
    > Thanks for this, I guess we await David's response.

    The problem is that FIXUP_FINAL is too late. If the USB controllers are
    still active at the time the IOMMU is initialised, then DMA for their
    'legacy keyboard/mouse emulation' will go AWOL -- because the BIOS
    authors are too incompetent to tell the OS about it correctly.

    And then the whole system goes down, locked up in SMM mode because the
    BIOS authors are too incompetent to write code which can _cope_ with the
    DMA going AWOL. Or do any testing.

    One option is to add a new quirk somewhere in the middle, or to invoke
    the USB fixups manually rather than by the quirk mechanism.

    Another might be to move the initialisation of the IOMMU to later in the
    boot, so it happens just after the final PCI fixups.

    But I distinctly remember a conversation, probably with hpa, in which he
    (or whoever) said that he wants to kill the USB controllers even
    _earlier_ in the boot process, because of other problems. So I was kind
    of hoping that whoever it was would pipe up. And then we'd take that

    David Woodhouse Open Source Technology Centre Intel Corporation

     \ /
      Last update: 2009-10-06 06:59    [W:0.022 / U:60.064 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site