Bug 42619

Summary: Add quirk for MS-7253: kernel oops with snd-hda-intel: BUG: unable to handle kernel paging request at ffffc90011c08000
Product: Drivers Reporter: Paul Menzel (paulepanter)
Component: PCIAssignee: Jonathan Nieder (jrnieder)
Status: RESOLVED CODE_FIX    
Severity: high CC: bjorn, caralu74, jrnieder, svante.signell
Priority: P1    
Hardware: All   
OS: Linux   
URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=619034
Kernel Version: 2.6.34-rc1 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: patching adding quirk
x86/PCI: do not tie MSI MS-7253 use_crs quirk to BIOS version

Description Paul Menzel 2012-01-20 22:49:28 UTC
This report is the same as #30552 although this quirk is for the motherboard MS-7253. To add this quirk Svante still needs to provide the DMI information of this board.

The Debian bug report #619034 contains the following information.

** Model information
sys_vendor: MICRO-STAR INTERNATIONAL CO., LTD
product_name: MS-7253
product_version: 1.0
chassis_vendor: MICRO-STAR INTERNATIONAL CO., LTD
chassis_version:  
bios_vendor: Phoenix Technologies, LTD
bios_version: V1.6
board_vendor: MICRO-STAR INTERNATIONAL CO., LTD
board_name: MS-7253
board_version: 1.0

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=619034
Comment 1 Jonathan Nieder 2012-01-20 22:56:06 UTC
Oh, that's the DMI information. :)

Thanks, good catch.
Comment 2 Jonathan Nieder 2012-01-26 10:36:05 UTC
Created attachment 72202 [details]
patching adding quirk

Svante: how about this patch?
Comment 3 caralu74 2012-02-28 16:33:07 UTC
I have this problem in my system. I've reported it in:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637620 
and 
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=5533 
I could not make my sound card work as it work on kernel 2.6.32.
Here I donnot find how patch or what to do.
Comment 4 Bjorn Helgaas 2012-02-28 17:03:47 UTC
caralu74, thanks for the report, and I'm very sorry that you've spent so much time trying to track down the problem.

If you boot with "pci=use_crs", does that make things work?  The patch in comment #2 basically just automatically turns on "pci=use_crs" for the MSI MS-7253.

If "pci=use_crs" makes it work for you, please attach the output of "dmidecode" here, so we can add a similar quirk for your machine.

If it *doesn't* make a difference, please attach the complete dmesg log here.
Comment 5 caralu74 2012-02-28 18:19:07 UTC
I`m exultant now, my sound card is working. Thanks a lot for the people who find this solution.

# dmidecode 2.11
SMBIOS 2.4 present.
36 structures occupying 1660 bytes.
Table at 0x000F0000.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
	Vendor: Phoenix Technologies, LTD
	Version: V1.2
	Release Date: 01/25/2007
	Address: 0xE0000
	Runtime Size: 128 kB
	ROM Size: 512 kB
	Characteristics:
		ISA is supported
		PCI is supported
		PNP is supported
		APM is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		BIOS ROM is socketed
		EDD is supported
		5.25"/360 kB floppy services are supported (int 13h)
		5.25"/1.2 MB floppy services are supported (int 13h)
		3.5"/720 kB floppy services are supported (int 13h)
		3.5"/2.88 MB floppy services are supported (int 13h)
		Print screen service is supported (int 5h)
		8042 keyboard services are supported (int 9h)
		Serial services are supported (int 14h)
		Printer services are supported (int 17h)
		CGA/mono video services are supported (int 10h)
		ACPI is supported
		USB legacy is supported
		AGP is supported
		LS-120 boot is supported
		ATAPI Zip drive boot is supported
		BIOS boot specification is supported
		Targeted content distribution is supported

Handle 0x0001, DMI type 1, 27 bytes
System Information
	Manufacturer: MICRO-STAR INTERNATIONAL CO., LTD
	Product Name: MS-7253
	Version: 1.00
	Serial Number:  
	UUID: Not Present
	Wake-up Type: Power Switch
	SKU Number:  
	Family:  

Handle 0x0002, DMI type 188, 255 bytes
OEM-specific Type
	Header and Data:
		BC FF 02 00 4B 38 4E 50 54 44 52 41 4D 30 03 00
		00 00 00 00 7F 00 00 00 00 00 01 00 00 00 00 00
		00 00 02 00 00 00 00 00 00 00 03 00 00 00 00 00
		00 00 04 00 00 00 00 00 00 00 05 00 00 00 00 00
		00 00 06 00 00 00 00 00 00 00 07 00 00 00 00 00
		00 00 40 00 10 0A 00 00 00 00 00 00 FF 00 EB 02
		00 00 01 00 00 00 01 01 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 E0 3E 78 00 00 00 00 00 00 00 00 00 00 00
		00 00 46 00 00 00 00 00 00 00 05 00 00 00 00 00
		00 00 34 C2 6A 00 20 13 23 00 10 00 01 00 5A 00
		10 64 88 88 FF FE 15 15 15 16 15 15 15 15 15 00
		00 00 14 15 15 15 15 15 15 15 14 00 00 00 2F 00
		00 00 00 00 00 00 00 00 00 00 00 2F 2F 2F 2F 2F
		2F 2F 2F 00 00 00 00 00 22 12 11 20 20 22 20 00
		22 12 11 10 20 22 20 00 00 00 00 00 00 00 00
	Strings:
		 

Handle 0x0003, DMI type 190, 255 bytes
OEM-specific Type
	Header and Data:
		BE FF 03 00 00 00 00 80 00 00 00 00 00 00 00 00
		00 00 00 00 01 06 16 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
	Strings:
		 

Handle 0x0004, DMI type 177, 69 bytes
OEM-specific Type
	Header and Data:
		B1 45 04 00 00 00 00 00 00 10 01 00 53 72 62 14
		65 30 06 11 1F 10 00 00 00 00 03 08 09 0E 03 00
		40 82 73 31 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		00 00 00 00 01
	Strings:
		VIA3177-MAC

Handle 0x0005, DMI type 2, 8 bytes
Base Board Information
	Manufacturer: MICRO-STAR INTERNATIONAL CO., LTD
	Product Name: MS-7253
	Version: 1.00
	Serial Number:  

Handle 0x0006, DMI type 3, 17 bytes
Chassis Information
	Manufacturer: MICRO-STAR INTERNATIONAL CO., LTD
	Type: Desktop
	Lock: Not Present
	Version:  
	Serial Number:  
	Asset Tag:  
	Boot-up State: Unknown
	Power Supply State: Unknown
	Thermal State: Unknown
	Security Status: Unknown
	OEM Information: 0x00000000

Handle 0x0007, DMI type 4, 35 bytes
Processor Information
	Socket Designation: Socket AM2 
	Type: Central Processor
	Family: Athlon 64 X2
	Manufacturer: AMD
	ID: B1 0F 06 00 FF FB 8B 17
	Signature: Family 15, Model 107, Stepping 1
	Flags:
		FPU (Floating-point unit on-chip)
		VME (Virtual mode extension)
		DE (Debugging extension)
		PSE (Page size extension)
		TSC (Time stamp counter)
		MSR (Model specific registers)
		PAE (Physical address extension)
		MCE (Machine check exception)
		CX8 (CMPXCHG8 instruction supported)
		APIC (On-chip APIC hardware supported)
		SEP (Fast system call)
		MTRR (Memory type range registers)
		PGE (Page global enable)
		MCA (Machine check architecture)
		CMOV (Conditional move instruction supported)
		PAT (Page attribute table)
		PSE-36 (36-bit page size extension)
		CLFSH (CLFLUSH instruction supported)
		MMX (MMX technology supported)
		FXSR (FXSAVE and FXSTOR instructions supported)
		SSE (Streaming SIMD extensions)
		SSE2 (Streaming SIMD extensions 2)
		HTT (Multi-threading)
	Version: AMD Athlon(tm) 64 X2 Dual Core Processor 4000+
	Voltage: 1.2 V
	External Clock: 200 MHz
	Max Speed: 3000 MHz
	Current Speed: 2100 MHz
	Status: Populated, Enabled
	Upgrade: Socket 939
	L1 Cache Handle: 0x000B
	L2 Cache Handle: 0x000C
	L3 Cache Handle: Not Provided
	Serial Number:  
	Asset Tag:  
	Part Number:  

Handle 0x0008, DMI type 5, 20 bytes
Memory Controller Information
	Error Detecting Method: 64-bit ECC
	Error Correcting Capabilities:
		None
	Supported Interleave: One-way Interleave
	Current Interleave: One-way Interleave
	Maximum Memory Module Size: 4096 MB
	Maximum Total Memory Size: 8192 MB
	Supported Speeds:
		70 ns
		60 ns
		50 ns
	Supported Memory Types:
		Standard
		DIMM
	Memory Module Voltage: 2.9 V
	Associated Memory Slots: 2
		0x0009
		0x000A
	Enabled Error Correcting Capabilities: None

Handle 0x0009, DMI type 6, 12 bytes
Memory Module Information
	Socket Designation: A0
	Bank Connections: 0 1
	Current Speed: 89 ns
	Type: Other Unknown EDO
	Installed Size: 2048 MB (Double-bank Connection)
	Enabled Size: 2048 MB (Double-bank Connection)
	Error Status: OK

Handle 0x000A, DMI type 6, 12 bytes
Memory Module Information
	Socket Designation: A1
	Bank Connections: None
	Current Speed: 89 ns
	Type: Other Unknown EDO
	Installed Size: Not Installed
	Enabled Size: Not Installed
	Error Status: OK

Handle 0x000B, DMI type 7, 19 bytes
Cache Information
	Socket Designation: Internal Cache
	Configuration: Enabled, Not Socketed, Level 1
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 128 kB
	Maximum Size: 128 kB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Unknown
	System Type: Unknown
	Associativity: Unknown

Handle 0x000C, DMI type 7, 19 bytes
Cache Information
	Socket Designation: External Cache
	Configuration: Enabled, Not Socketed, Level 2
	Operational Mode: Write Back
	Location: Internal
	Installed Size: 512 kB
	Maximum Size: 512 kB
	Supported SRAM Types:
		Synchronous
	Installed SRAM Type: Synchronous
	Speed: Unknown
	Error Correction Type: Unknown
	System Type: Unknown
	Associativity: Unknown

Handle 0x000D, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: PRIMARY IDE
	Internal Connector Type: On Board IDE
	External Reference Designator: Not Specified
	External Connector Type: None
	Port Type: Other

Handle 0x000E, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: SECONDARY IDE
	Internal Connector Type: On Board IDE
	External Reference Designator: Not Specified
	External Connector Type: None
	Port Type: Other

Handle 0x000F, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: FDD
	Internal Connector Type: On Board Floppy
	External Reference Designator: Not Specified
	External Connector Type: None
	Port Type: 8251 FIFO Compatible

Handle 0x0010, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: COM1
	Internal Connector Type: 9 Pin Dual Inline (pin 10 cut)
	External Reference Designator:  
	External Connector Type: DB-9 male
	Port Type: Serial Port 16450 Compatible

Handle 0x0011, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: COM2
	Internal Connector Type: 9 Pin Dual Inline (pin 10 cut)
	External Reference Designator:  
	External Connector Type: DB-9 male
	Port Type: Serial Port 16450 Compatible

Handle 0x0012, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: LPT1
	Internal Connector Type: DB-25 female
	External Reference Designator:  
	External Connector Type: DB-25 female
	Port Type: Parallel Port ECP/EPP

Handle 0x0013, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Keyboard
	Internal Connector Type: PS/2
	External Reference Designator:  
	External Connector Type: PS/2
	Port Type: Keyboard Port

Handle 0x0014, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: PS/2 Mouse
	Internal Connector Type: PS/2
	External Reference Designator:  
	External Connector Type: PS/2
	Port Type: Mouse Port

Handle 0x0015, DMI type 8, 9 bytes
Port Connector Information
	Internal Reference Designator: Not Specified
	Internal Connector Type: None
	External Reference Designator: USB0
	External Connector Type: Other
	Port Type: USB

Handle 0x0016, DMI type 9, 13 bytes
System Slot Information
	Designation: PCI0
	Type: 32-bit PCI
	Current Usage: Available
	Length: Long
	ID: 1
	Characteristics:
		5.0 V is provided
		PME signal is supported

Handle 0x0017, DMI type 9, 13 bytes
System Slot Information
	Designation: PCI1
	Type: 32-bit PCI
	Current Usage: Available
	Length: Long
	ID: 2
	Characteristics:
		5.0 V is provided
		PME signal is supported

Handle 0x0018, DMI type 9, 13 bytes
System Slot Information
	Designation: PCI2
	Type: 32-bit PCI Express
	Current Usage: In Use
	Length: Long
	ID: 3
	Characteristics:
		5.0 V is provided
		PME signal is supported

Handle 0x0019, DMI type 9, 13 bytes
System Slot Information
	Designation: PCI3
	Type: 32-bit PCI
	Current Usage: Available
	Length: Long
	ID: 4
	Characteristics:
		5.0 V is provided
		PME signal is supported

Handle 0x001A, DMI type 9, 13 bytes
System Slot Information
	Designation: AGP
	Type: 32-bit AGP
	Current Usage: Available
	Length: Long
	ID: 8
	Characteristics:
		5.0 V is provided

Handle 0x001B, DMI type 13, 22 bytes
BIOS Language Information
	Language Description Format: Long
	Installable Languages: 3
		n|US|iso8859-1
		n|US|iso8859-1
		r|CA|iso8859-1
	Currently Installed Language: n|US|iso8859-1

Handle 0x001C, DMI type 16, 15 bytes
Physical Memory Array
	Location: System Board Or Motherboard
	Use: System Memory
	Error Correction Type: None
	Maximum Capacity: 8 GB
	Error Information Handle: Not Provided
	Number Of Devices: 2

Handle 0x001D, DMI type 17, 27 bytes
Memory Device
	Array Handle: 0x001C
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 2048 MB
	Form Factor: DIMM
	Set: None
	Locator: A0
	Bank Locator: Bank0/1
	Type: Unknown
	Type Detail: None
	Speed: Unknown
	Manufacturer: None
	Serial Number: None
	Asset Tag: None
	Part Number: None

Handle 0x001E, DMI type 17, 27 bytes
Memory Device
	Array Handle: 0x001C
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: No Module Installed
	Form Factor: DIMM
	Set: None
	Locator: A1
	Bank Locator: Bank2/3
	Type: Unknown
	Type Detail: None
	Speed: Unknown
	Manufacturer: None
	Serial Number: None
	Asset Tag: None
	Part Number: None

Handle 0x001F, DMI type 19, 15 bytes
Memory Array Mapped Address
	Starting Address: 0x00000000000
	Ending Address: 0x0007FFFFFFF
	Range Size: 2 GB
	Physical Array Handle: 0x001C
	Partition Width: 1

Handle 0x0020, DMI type 20, 19 bytes
Memory Device Mapped Address
	Starting Address: 0x00000000000
	Ending Address: 0x0007FFFFFFF
	Range Size: 2 GB
	Physical Device Handle: 0x001D
	Memory Array Mapped Address Handle: 0x001F
	Partition Row Position: 1

Handle 0x0021, DMI type 20, 19 bytes
Memory Device Mapped Address
	Starting Address: 0x00000000000
	Ending Address: 0x000000003FF
	Range Size: 1 kB
	Physical Device Handle: 0x001E
	Memory Array Mapped Address Handle: 0x001F
	Partition Row Position: 1

Handle 0x0022, DMI type 32, 11 bytes
System Boot Information
	Status: No errors detected

Handle 0x0023, DMI type 127, 4 bytes
End Of Table
Comment 6 caralu74 2012-02-28 18:45:36 UTC
I got a last questions about this issue.
Why this happend? What does pci=use_crs do? and Could this fix be added to future Kernel releases?
Comment 7 Bjorn Helgaas 2012-02-28 19:08:07 UTC
caralu74, all the gory details are here: https://bugzilla.kernel.org/show_bug.cgi?id=30552#c23

pci=use_crs tells Linux to pay attention to some important information the BIOS is trying to give us.  By default, we ignore it on older machines (because of various Linux issues), but ignoring it also sometimes causes problems.

With luck the fix will show up in 3.3 or 3.4.
Comment 8 caralu74 2012-02-28 20:17:34 UTC
A last line I just did this
Add pci=use_crs to my Kernel options in this way.
sudo gedit /etc/default/grub and change the line GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" to 
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=use_crs"
Comment 9 Paul Menzel 2012-02-29 10:37:24 UTC
(In reply to comment #7)

[…]

> With luck the fix will show up in 3.3 or 3.4.

Well, once accepted it will hopefully migrate to the stable series 3.0.x (is that still maintained) and 3.2.x. So Carlos, it will work out of the box soon.
Comment 10 Paul Menzel 2012-02-29 10:53:43 UTC
(In reply to comment #8)
> A last line I just did this
> Add pci=use_crs to my Kernel options in this way.
> sudo gedit /etc/default/grub and change the line

You should use `gksudo` provided by the package gksu [1], I think.

> GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" to 
> GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=use_crs"

Carlos, thank you for the follow up.

Could we ask you for a last action? Could you please test Jonathan’s patch included in comment #2? Here are the steps taken from Jonathan’s response [3].

Make sure you have all needed packages installed.

$ sudo aptitude install kernel-package

Now build a Debian package from the patched Linux kernel source.

$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
$ cd linux
$ git checkout v3.2
$ git am pathtofilefromcomment2
$ make localmodconfig # minimal configuration
$ make deb-pkg # builds a .deb
$ sudo dpkg -i ../<whatever>.deb

Make sure you have removed the workaround `pci=use_crs` from the Linux kernel line, reboot, make sure the self compiled Linux kernel is running and test everything. Report back with the output of `dmesg` and if it works also include the following line.

    Tested-by: Your Name <your@email>

Bjorn, what is the best tree to test? Your tree at [3]?


[1] http://packages.debian.org/sid/gksu
[2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=619034#132
[3] https://github.com/bjorn-helgaas/linux/commits/master
Comment 11 Jonathan Nieder 2012-02-29 15:38:11 UTC
Created attachment 72500 [details]
x86/PCI: do not tie MSI MS-7253 use_crs quirk to BIOS version

(in reply to comment #10)
> Could we ask you for a last action? Could you please test Jonathan’s patch
> included in comment #2?

It won't work without the attached patch on top, since Carlos has BIOS V1.2 instead of V1.6.
Comment 12 Jonathan Nieder 2012-02-29 15:40:51 UTC
Patch comes from [1].
[1] http://thread.gmane.org/gmane.linux.kernel.pci/13825/focus=13828
Comment 13 Paul Menzel 2012-02-29 16:23:07 UTC
(In reply to comment #11)
> Created an attachment (id=72500) [details]
> x86/PCI: do not tie MSI MS-7253 use_crs quirk to BIOS version
> 
> (in reply to comment #10)
> > Could we ask you for a last action? Could you please test Jonathan’s patch
> > included in comment #2?
> 
> It won't work without the attached patch on top, since Carlos has BIOS V1.2
> instead of V1.6.

Good catch, Jonathan!

Could you make sure that these patches are applied to stable? Most easily that is by adding the following I think.

    CC: stable@vger.kernel.org

Or just remind Bjorn or Jesse.
Comment 14 caralu74 2012-02-29 18:12:33 UTC
I have not tested the patch. 

Yesterday there was some minor kernel updated, so today when I restar my PC I had not sound, so I compile again alsa-driver-1.0.25 patched (http://git.alsa-project.org/?p=alsa-kernel.git;a=blob_plain;f=sound/pci/hda/hda_intel.c ) cause I have a GPU Nvidia and need the align buffer patch. The Kernel option alone not work . I think this information is useful because I have 2 problems the buffer align into a Nvidia HDMI and the BIOS issue. 

Now after recompile the alsa-driver I have my sound recognized.

I'll try the patch on the next days.

I have a new question about the patch; Should I follow this:
Make sure you have all needed packages installed.

$ sudo aptitude install kernel-package

Now build a Debian package from the patched Linux kernel source.

$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
$ cd linux
$ git checkout v3.2
$ git am pathtofilefromcomment2
$ make localmodconfig # minimal configuration
$ make deb-pkg # builds a .deb
$ sudo dpkg -i ../<whatever>.deb

Make sure you have removed the workaround `pci=use_crs` from the Linux kernel
line, reboot, make sure the self compiled Linux kernel is running and test
everything. Report back with the output of `dmesg` and if it works also include
the following line.

    Tested-by: Your Name <your@email>

Or should I simply add the pathc https://bugzilla.kernel.org/attachment.cgi?id=72202
Comment 15 Jonathan Nieder 2012-03-02 04:10:06 UTC
Regression: yes
(Assuming this was triggered by 3e3da00c, aka v2.6.34-rc1~218^2~26.)

Fixed by 84113717 (x86/PCI: use host bridge _CRS info on MSI MS-7253) and the follow-up a97f4f5e (x86/PCI: do not tie MSI MS-7253 use_crs quirk to BIOS version) from Jesse's for-linus branch.
Comment 16 caralu74 2012-03-06 19:14:57 UTC
A last question (I hope ) into the patch say BIOS version 1.6 and mine is 1.2 so Should I aplly the patch or what should I do?
Comment 17 Bjorn Helgaas 2012-03-07 23:39:26 UTC
Yes, you should apply both these patches:

http://git.kernel.org/?p=linux/kernel/git/jbarnes/pci.git;a=commitdiff;h=8411371709610c826bf65684f886bfdfb5780ca1
http://git.kernel.org/?p=linux/kernel/git/jbarnes/pci.git;a=commitdiff;h=a97f4f5e524bcd09a85ef0b8821a14d35e69335f

The first is the same as the one in comment #2, and the second removes the BIOS version check.

Let us know what happens or if you need help :)