• Daniel Drake's avatar
    PCI: VIA IRQ quirk behaviour change · 09d6029f
    Daniel Drake authored
    The most recent VIA IRQ quirk changes have broken various VIA devices for
    some users.  We are not able to add these devices to the blacklist as they
    are also available in PCI-card form, and running the quirk on these devices
    brings us back to square one (running the VIA quirk on non-VIA boards where
    the quirk is not needed).
    
    This patch, based on suggestions from Sergey Vlasov, implements a scheme
    similar to but more restrictive than the scheme we had in 2.6.16 and
    earlier.  It runs the quirk on all VIA hardware, but *only* if a VIA
    southbridge was detected on the system.
    
    To further reduce the amount of quirked devices, this patch includes a
    change suggested by Linus at http://lkml.org/lkml/2005/9/27/113 This
    ensures that devices bound to non-legacy IO-APIC interrupt lines are not
    quirked.  We have made one change to Linus' suggestion: we do a comparison
    of ">15" rather than ">=15", as 15 is still in the legacy interrupt range.
    
    There is still a downside to this patch: if the user inserts a VIA PCI card
    into a VIA-based motherboard, in some circumstances the quirk will also run
    on the VIA PCI card.  This corner case is hard to avoid.
    Signed-off-by: default avatarDaniel Drake <dsd@gentoo.org>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    09d6029f
quirks.c 60.5 KB