Neil Horman <nhorman@tuxdriver.com> writes:Ok. This test is broken. Please remove the == 1. You are looking for == (1 << 18). So just saying: "if (htcfg & (1 << 18))" should be clearer. The rest of this quirk looks fine, include the fact it is only intended to be applied to PCI_VENDOR_ID_AMD PCI_DEVICE_ID_AMD_K8_NB. For what is below I don't like the way the infrastructure has been extended as what you are doing quickly devolves into a big mess. Please extend struct chipset to be something like: struct chipset { u16 vendor; u16 device; u32 class, class_mask; void (*f)(void); }; And then the test for matching the chipset can be something like: if ((id->vendor == PCI_ANY_ID || id->vendor == dev->vendor) && (id->device == PCI_ANY_ID || id->device == dev->device) && !((id->class ^ dev->class) & id->class_mask)) Essentially a subset of pci_match_one_device from drivers/pci/pci.h That way you don't need to increase the number of tables or the number of passes through the pci busses, just update the early_qrk table with a few more bits of information. The extended form should be much more maintainable in the long run. Given that we may want this before we enable the timer which is very early doing this in the pci early quirks seems to make sense. Eric --
| Adrian Bunk | Re: Linux 2.6.21 |
| Linus Torvalds | Linux 2.6.21-rc2 |
| WANG Cong | [-mm Patch] UML: fix a building error |
| Roland McGrath | Re: [PATCH 0/5] ftrace: to kill a daemon |
git: | |
| Natalie Protasevich | [BUG] New Kernel Bugs |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Patrick McHardy | Re: [PATCH] netfilter: use per-cpu spinlock rather than RCU (v3) |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Theodore Ts'o | Re: cc1 fails silently |
| Michael Nolan | Power routines on notebook cause kernel panic |
| Marc Peters | v 0.11 boot disk problem |
| Dave `geek' Gymer | WARNING (was Re: New afio release) |
