From: Greg Kroah-Hartman Date: Fri, 13 Feb 2009 23:54:50 +0000 (-0800) Subject: more .27 patches X-Git-Tag: v2.6.28.6~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3485b0888a78a481a97b4eac28c50906101b6ceb;p=thirdparty%2Fkernel%2Fstable-queue.git more .27 patches --- diff --git a/queue-2.6.27/alsa-mtpav-fix-initial-value-for-input-hwport.patch b/queue-2.6.27/alsa-mtpav-fix-initial-value-for-input-hwport.patch new file mode 100644 index 00000000000..b5277b68c75 --- /dev/null +++ b/queue-2.6.27/alsa-mtpav-fix-initial-value-for-input-hwport.patch @@ -0,0 +1,41 @@ +From 32cf9a16f4af01573ddec1eb073111fc20a9d7d4 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Thu, 12 Feb 2009 00:06:42 +0100 +Subject: ALSA: mtpav - Fix initial value for input hwport + +From: Takashi Iwai + +commit 32cf9a16f4af01573ddec1eb073111fc20a9d7d4 upstream. + +Fix the initial value for input hwport. The old value (-1) may cause +Oops when an realtime MIDI byte is received before the input port is +explicitly given. +Instead, now it's set to the broadcasting as default. + +Tested-by: Holger Dehnhardt +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/drivers/mtpav.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/sound/drivers/mtpav.c ++++ b/sound/drivers/mtpav.c +@@ -706,7 +706,6 @@ static int __devinit snd_mtpav_probe(str + mtp_card->card = card; + mtp_card->irq = -1; + mtp_card->share_irq = 0; +- mtp_card->inmidiport = 0xffffffff; + mtp_card->inmidistate = 0; + mtp_card->outmidihwport = 0xffffffff; + init_timer(&mtp_card->timer); +@@ -715,6 +714,8 @@ static int __devinit snd_mtpav_probe(str + + card->private_free = snd_mtpav_free; + ++ mtp_card->inmidiport = mtp_card->num_ports + MTPAV_PIDX_BROADCAST; ++ + err = snd_mtpav_get_ISA(mtp_card); + if (err < 0) + goto __error; diff --git a/queue-2.6.27/bluetooth-hid-enable-quirk-handling-for-apple-wireless-keyboards-in-2.6.27.patch b/queue-2.6.27/bluetooth-hid-enable-quirk-handling-for-apple-wireless-keyboards-in-2.6.27.patch new file mode 100644 index 00000000000..c2beedf9670 --- /dev/null +++ b/queue-2.6.27/bluetooth-hid-enable-quirk-handling-for-apple-wireless-keyboards-in-2.6.27.patch @@ -0,0 +1,43 @@ +From torsten@rausche.net Fri Feb 13 15:29:02 2009 +From: Torsten Rausche +Date: Thu, 12 Feb 2009 02:32:44 +0100 +Subject: bluetooth hid: enable quirk handling for Apple Wireless Keyboards in 2.6.27 +To: stable@kernel.org +Cc: Jiri Kosina , Jan Scholz +Message-ID: <1234402364.16307.238.camel@localhost.localdomain> + +From: Torsten Rausche + +This patch is basically a backport of +commit ee8a1a0a1a5817accd03ced7e7ffde3a4430f485 upstream +which was made after the big HID overhaul in 2.6.28. + +Kernel 2.6.27 fails to handle quirks for the aluminum Apple Wireless +Keyboard because it is handled as USB device and not as Bluetooth +device. This patch expands 'hidp_blacklist' to make the kernel handle +the keyboard in the same way as the Apple wireless Mighty Mouse (also a +Bluetooth device). + +Signed-off-by: Torsten Rausche +Cc: Jan Scholz +Cc: Jiri Kosina +Signed-off-by: Greg Kroah-Hartman + +--- +--- + net/bluetooth/hidp/core.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/net/bluetooth/hidp/core.c ++++ b/net/bluetooth/hidp/core.c +@@ -684,6 +684,10 @@ static const struct { + } hidp_blacklist[] = { + /* Apple wireless Mighty Mouse */ + { 0x05ac, 0x030c, HID_QUIRK_MIGHTYMOUSE | HID_QUIRK_INVERT_HWHEEL }, ++ /* Apple Wireless Keyboard */ ++ { 0x05ac, 0x022c, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN }, ++ { 0x05ac, 0x022d, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD }, ++ { 0x05ac, 0x022e, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN }, + + { } /* Terminating entry */ + }; diff --git a/queue-2.6.27/hid-adjust-report-descriptor-fixup-for-ms-1028-receiver.patch b/queue-2.6.27/hid-adjust-report-descriptor-fixup-for-ms-1028-receiver.patch new file mode 100644 index 00000000000..5f171d98ebb --- /dev/null +++ b/queue-2.6.27/hid-adjust-report-descriptor-fixup-for-ms-1028-receiver.patch @@ -0,0 +1,62 @@ +From cebbert@redhat.com Fri Feb 13 15:32:30 2009 +From: Jiri Kosina +Date: Tue, 10 Feb 2009 17:00:34 -0500 +Subject: HID: adjust report descriptor fixup for MS 1028 receiver +To: stable@kernel.org +Cc: Jiri Kosina +Message-ID: <20090210170034.63209694@dhcp-100-2-144.bos.redhat.com> + +From: Jiri Kosina + +commit 0fb21de0799a985d2da3da14ae5625d724256638 upstream + +HID: adjust report descriptor fixup for MS 1028 receiver +[Backport to 2.6.27: cebbert@redhat.com] + +Report descriptor fixup for MS 1028 receiver changes also values for +Keyboard and Consumer, which incorrectly trims the range, causing correct +events being thrown away before passing to userspace. + +We need to keep the GenDesk usage fixup though, as it reports totally bogus +values about axis. + +Reported-by: Lucas Gadani +Signed-off-by: Jiri Kosina +Cc: Chuck Ebbert +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hid/usbhid/hid-quirks.c | 16 ++++------------ + 1 file changed, 4 insertions(+), 12 deletions(-) + +--- a/drivers/hid/usbhid/hid-quirks.c ++++ b/drivers/hid/usbhid/hid-quirks.c +@@ -1130,24 +1130,16 @@ static void usbhid_fixup_button_consumer + } + + /* +- * Microsoft Wireless Desktop Receiver (Model 1028) has several ++ * Microsoft Wireless Desktop Receiver (Model 1028) has + * 'Usage Min/Max' where it ought to have 'Physical Min/Max' + */ + static void usbhid_fixup_microsoft_descriptor(unsigned char *rdesc, int rsize) + { +- if (rsize == 571 && rdesc[284] == 0x19 +- && rdesc[286] == 0x2a +- && rdesc[304] == 0x19 +- && rdesc[306] == 0x29 +- && rdesc[352] == 0x1a +- && rdesc[355] == 0x2a +- && rdesc[557] == 0x19 ++ if (rsize == 571 && rdesc[557] == 0x19 + && rdesc[559] == 0x29) { + printk(KERN_INFO "Fixing up Microsoft Wireless Receiver Model 1028 report descriptor\n"); +- rdesc[284] = rdesc[304] = rdesc[557] = 0x35; +- rdesc[352] = 0x36; +- rdesc[286] = rdesc[355] = 0x46; +- rdesc[306] = rdesc[559] = 0x45; ++ rdesc[557] = 0x35; ++ rdesc[559] = 0x45; + } + } + diff --git a/queue-2.6.27/ide-libata-fix-ata_id_is_cfa.patch b/queue-2.6.27/ide-libata-fix-ata_id_is_cfa.patch new file mode 100644 index 00000000000..d607cd541ee --- /dev/null +++ b/queue-2.6.27/ide-libata-fix-ata_id_is_cfa.patch @@ -0,0 +1,49 @@ +From 2999b58b795ad81f10e34bdbbfd2742172f247e4 Mon Sep 17 00:00:00 2001 +From: Sergei Shtylyov +Date: Sun, 1 Feb 2009 20:46:39 +0400 +Subject: ide/libata: fix ata_id_is_cfa() (take 4) + +From: Sergei Shtylyov + +commit 2999b58b795ad81f10e34bdbbfd2742172f247e4 upstream. + +When checking for the CFA feature set support, ata_id_is_cfa() tests bit 2 in +word 82 of the identify data instead the word 83; it also checks the ATA/PI +version support in the word 80 (which the CompactFlash specifications have as +reserved), this having no slightest chance to work on the modern CF cards that +don't have 0x848A in the word 0... + +Signed-off-by: Sergei Shtylyov +Signed-off-by: Jeff Garzik +Cc: Chuck Ebbert +Signed-off-by: Greg Kroah-Hartman + +--- + include/linux/ata.h | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +--- a/include/linux/ata.h ++++ b/include/linux/ata.h +@@ -681,12 +681,17 @@ static inline int ata_id_current_chs_val + + static inline int ata_id_is_cfa(const u16 *id) + { +- if (id[ATA_ID_CONFIG] == 0x848A) /* Standard CF */ ++ if (id[ATA_ID_CONFIG] == 0x848A) /* Traditional CF */ + return 1; +- /* Could be CF hiding as standard ATA */ +- if (ata_id_major_version(id) >= 3 && +- id[ATA_ID_COMMAND_SET_1] != 0xFFFF && +- (id[ATA_ID_COMMAND_SET_1] & (1 << 2))) ++ /* ++ * CF specs don't require specific value in the word 0 anymore and yet ++ * they forbid to report the ATA version in the word 80 and require the ++ * CFA feature set support to be indicated in the word 83 in this case. ++ * Unfortunately, some cards only follow either of this requirements, ++ * and while those that don't indicate CFA feature support need some ++ * sort of quirk list, it seems impractical for the ones that do... ++ */ ++ if ((id[ATA_ID_COMMAND_SET_2] & 0xC004) == 0x4004) + return 1; + return 0; + } diff --git a/queue-2.6.27/libata-fix-eh-device-failure-handling.patch b/queue-2.6.27/libata-fix-eh-device-failure-handling.patch new file mode 100644 index 00000000000..6a9a69d5951 --- /dev/null +++ b/queue-2.6.27/libata-fix-eh-device-failure-handling.patch @@ -0,0 +1,48 @@ +From d89293abd95bfd7dd9229087d6c30c1464c5ac83 Mon Sep 17 00:00:00 2001 +From: Tejun Heo +Date: Thu, 29 Jan 2009 20:31:29 +0900 +Subject: libata: fix EH device failure handling + +From: Tejun Heo + +commit d89293abd95bfd7dd9229087d6c30c1464c5ac83 upstream. + +The dev->pio_mode > XFER_PIO_0 test is there to avoid unnecessary +speed down warning messages but it accidentally disabled SATA link spd +down during configuration phase after reset where PIO mode is always +zero. + +This patch fixes the problem by moving the test where it belongs. +This makes libata probing sequence behave better when the connection +is flaky at higher link speeds which isn't too uncommon for eSATA +devices. + +[cebbert@redhat.com: trivial backport to 2.6.27] + +Signed-off-by: Tejun Heo +Signed-off-by: Jeff Garzik +Cc: Chuck Ebbert +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/ata/libata-eh.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- a/drivers/ata/libata-eh.c ++++ b/drivers/ata/libata-eh.c +@@ -2694,12 +2694,13 @@ static int ata_eh_handle_dev_fail(struct + /* give it just one more chance */ + ehc->tries[dev->devno] = min(ehc->tries[dev->devno], 1); + case -EIO: +- if (ehc->tries[dev->devno] == 1 && dev->pio_mode > XFER_PIO_0) { ++ if (ehc->tries[dev->devno] == 1) { + /* This is the last chance, better to slow + * down than lose it. + */ + sata_down_spd_limit(dev->link); +- ata_down_xfermask_limit(dev, ATA_DNXFER_PIO); ++ if (dev->pio_mode > XFER_PIO_0) ++ ata_down_xfermask_limit(dev, ATA_DNXFER_PIO); + } + } + diff --git a/queue-2.6.27/mac80211-fix-a-buffer-overrun-in-station-debug-code.patch b/queue-2.6.27/mac80211-fix-a-buffer-overrun-in-station-debug-code.patch new file mode 100644 index 00000000000..536d047cef5 --- /dev/null +++ b/queue-2.6.27/mac80211-fix-a-buffer-overrun-in-station-debug-code.patch @@ -0,0 +1,31 @@ +From 013cd397532e5803a1625954a884d021653da720 Mon Sep 17 00:00:00 2001 +From: Jianjun Kong +Date: Mon, 10 Nov 2008 21:37:39 -0800 +Subject: mac80211: fix a buffer overrun in station debug code + +From: Jianjun Kong + +commit 013cd397532e5803a1625954a884d021653da720 upstream. + +net/mac80211/debugfs_sta.c +The trailing zero was written to state[4], it's out of bounds. + +Signed-off-by: Jianjun Kong +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + net/mac80211/debugfs_sta.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/net/mac80211/debugfs_sta.c ++++ b/net/mac80211/debugfs_sta.c +@@ -200,7 +200,7 @@ static ssize_t sta_agg_status_write(stru + /* toggle Rx aggregation command */ + tid_num = tid_num - 100; + if (tid_static_rx[tid_num] == 1) { +- strcpy(state, "off "); ++ strcpy(state, "off"); + ieee80211_sta_stop_rx_ba_session(dev, da, tid_num, 0, + WLAN_REASON_QSTA_REQUIRE_SETUP); + sta->ampdu_mlme.tid_state_rx[tid_num] |= diff --git a/queue-2.6.27/netfilter-fix-tuple-inversion-for-node-information-request.patch b/queue-2.6.27/netfilter-fix-tuple-inversion-for-node-information-request.patch new file mode 100644 index 00000000000..28b681cafce --- /dev/null +++ b/queue-2.6.27/netfilter-fix-tuple-inversion-for-node-information-request.patch @@ -0,0 +1,40 @@ +From kaber@trash.net Fri Feb 13 15:27:29 2009 +From: Eric Leblond +Date: Thu, 12 Feb 2009 08:07:37 +0100 (MET) +Subject: netfilter: fix tuple inversion for Node information request +To: stable@kernel.org +Cc: netdev@vger.kernel.org, netfilter-devel@vger.kernel.org, Patrick McHardy , davem@davemloft.net +Message-ID: <20090212070734.4876.53101.sendpatchset@x2.localnet> + +From: Eric Leblond + +netfilter: fix tuple inversion for Node information request + +Upstream commit: a51f42f3c + +The patch fixes a typo in the inverse mapping of Node Information +request. Following draft-ietf-ipngwg-icmp-name-lookups-09, "Querier" +sends a type 139 (ICMPV6_NI_QUERY) packet to "Responder" which answer +with a type 140 (ICMPV6_NI_REPLY) packet. + +Signed-off-by: Eric Leblond +Signed-off-by: Patrick McHardy +Signed-off-by: Greg Kroah-Hartman + +--- + net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c ++++ b/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c +@@ -49,8 +49,8 @@ static bool icmpv6_pkt_to_tuple(const st + static const u_int8_t invmap[] = { + [ICMPV6_ECHO_REQUEST - 128] = ICMPV6_ECHO_REPLY + 1, + [ICMPV6_ECHO_REPLY - 128] = ICMPV6_ECHO_REQUEST + 1, +- [ICMPV6_NI_QUERY - 128] = ICMPV6_NI_QUERY + 1, +- [ICMPV6_NI_REPLY - 128] = ICMPV6_NI_REPLY +1 ++ [ICMPV6_NI_QUERY - 128] = ICMPV6_NI_REPLY + 1, ++ [ICMPV6_NI_REPLY - 128] = ICMPV6_NI_QUERY +1 + }; + + static bool icmpv6_invert_tuple(struct nf_conntrack_tuple *tuple, diff --git a/queue-2.6.27/netfilter-xt_sctp-sctp-chunk-mapping-doesn-t-work.patch b/queue-2.6.27/netfilter-xt_sctp-sctp-chunk-mapping-doesn-t-work.patch new file mode 100644 index 00000000000..85596ca8e86 --- /dev/null +++ b/queue-2.6.27/netfilter-xt_sctp-sctp-chunk-mapping-doesn-t-work.patch @@ -0,0 +1,38 @@ +From kaber@trash.net Fri Feb 13 15:28:03 2009 +From: Qu Haoran +Date: Thu, 12 Feb 2009 08:07:38 +0100 (MET) +Subject: netfilter: xt_sctp: sctp chunk mapping doesn't work +To: stable@kernel.org +Cc: netdev@vger.kernel.org, netfilter-devel@vger.kernel.org, Patrick McHardy , davem@davemloft.net +Message-ID: <20090212070735.4876.81436.sendpatchset@x2.localnet> + +From: Qu Haoran + +netfilter: xt_sctp: sctp chunk mapping doesn't work + +Upstream commit: d4e2675a + +When user tries to map all chunks given in argument, kernel +works on a copy of the chunkmap, but at the end it doesn't +check the copy, but the orginal one. + +Signed-off-by: Qu Haoran +Signed-off-by: Nicolas Dichtel +Signed-off-by: Patrick McHardy +Signed-off-by: Greg Kroah-Hartman + +--- + net/netfilter/xt_sctp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/net/netfilter/xt_sctp.c ++++ b/net/netfilter/xt_sctp.c +@@ -105,7 +105,7 @@ match_packet(const struct sk_buff *skb, + + switch (chunk_match_type) { + case SCTP_CHUNK_MATCH_ALL: +- return SCTP_CHUNKMAP_IS_CLEAR(info->chunkmap); ++ return SCTP_CHUNKMAP_IS_CLEAR(chunkmapcopy); + case SCTP_CHUNK_MATCH_ANY: + return false; + case SCTP_CHUNK_MATCH_ONLY: diff --git a/queue-2.6.27/series b/queue-2.6.27/series index 88810798b04..50ba6a2665a 100644 --- a/queue-2.6.27/series +++ b/queue-2.6.27/series @@ -36,3 +36,12 @@ tcp-splice-as-many-packets-as-possible-at-once.patch tcp-fix-length-tcp_splice_data_recv-passes-to-skb_splice_bits.patch sparc-enable-syscall-wrappers-for-64-bit.patch sparc64-annotate-sparc64-specific-syscalls-with-syscall_definex.patch +netfilter-fix-tuple-inversion-for-node-information-request.patch +netfilter-xt_sctp-sctp-chunk-mapping-doesn-t-work.patch +bluetooth-hid-enable-quirk-handling-for-apple-wireless-keyboards-in-2.6.27.patch +hid-adjust-report-descriptor-fixup-for-ms-1028-receiver.patch +libata-fix-eh-device-failure-handling.patch +ide-libata-fix-ata_id_is_cfa.patch +x86-fixup-config-space-size-of-cpu-functions-for-amd-family-11h.patch +mac80211-fix-a-buffer-overrun-in-station-debug-code.patch +alsa-mtpav-fix-initial-value-for-input-hwport.patch diff --git a/queue-2.6.27/x86-fixup-config-space-size-of-cpu-functions-for-amd-family-11h.patch b/queue-2.6.27/x86-fixup-config-space-size-of-cpu-functions-for-amd-family-11h.patch new file mode 100644 index 00000000000..1e2f21d5ad0 --- /dev/null +++ b/queue-2.6.27/x86-fixup-config-space-size-of-cpu-functions-for-amd-family-11h.patch @@ -0,0 +1,57 @@ +From ffd565a8b817d1eb4b25184e8418e8d96c3f56f6 Mon Sep 17 00:00:00 2001 +From: Andreas Herrmann +Date: Tue, 25 Nov 2008 17:18:03 +0100 +Subject: x86: fixup config space size of CPU functions for AMD family 11h + +From: Andreas Herrmann + +commit ffd565a8b817d1eb4b25184e8418e8d96c3f56f6 upstream. + +Impact: extend allowed configuration space access on 11h CPUs from 256 to 4K + +Signed-off-by: Andreas Herrmann +Acked-by: Jesse Barnes +Signed-off-by: Ingo Molnar +Cc: Chuck Ebbert +Signed-off-by: Greg Kroah-Hartman + + +--- + arch/x86/pci/fixup.c | 25 ++++++++++++++----------- + 1 file changed, 14 insertions(+), 11 deletions(-) + +--- a/arch/x86/pci/fixup.c ++++ b/arch/x86/pci/fixup.c +@@ -496,18 +496,21 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_S + pci_siemens_interrupt_controller); + + /* +- * Regular PCI devices have 256 bytes, but AMD Family 10h Opteron ext config +- * have 4096 bytes. Even if the device is capable, that doesn't mean we can +- * access it. Maybe we don't have a way to generate extended config space +- * accesses. So check it ++ * Regular PCI devices have 256 bytes, but AMD Family 10h/11h CPUs have ++ * 4096 bytes configuration space for each function of their processor ++ * configuration space. + */ +-static void fam10h_pci_cfg_space_size(struct pci_dev *dev) ++static void amd_cpu_pci_cfg_space_size(struct pci_dev *dev) + { + dev->cfg_size = pci_cfg_space_size_ext(dev); + } +- +-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1200, fam10h_pci_cfg_space_size); +-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1201, fam10h_pci_cfg_space_size); +-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1202, fam10h_pci_cfg_space_size); +-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1203, fam10h_pci_cfg_space_size); +-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1204, fam10h_pci_cfg_space_size); ++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1200, amd_cpu_pci_cfg_space_size); ++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1201, amd_cpu_pci_cfg_space_size); ++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1202, amd_cpu_pci_cfg_space_size); ++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1203, amd_cpu_pci_cfg_space_size); ++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1204, amd_cpu_pci_cfg_space_size); ++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1300, amd_cpu_pci_cfg_space_size); ++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1301, amd_cpu_pci_cfg_space_size); ++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1302, amd_cpu_pci_cfg_space_size); ++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1303, amd_cpu_pci_cfg_space_size); ++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x1304, amd_cpu_pci_cfg_space_size);