Bug 153881
Summary: | pci 0000:ff:1e.3: [Firmware Bug]: reg 0x10: invalid BAR (can't size) | ||
---|---|---|---|
Product: | Drivers | Reporter: | Paul Menzel (pmenzel+bugzilla.kernel.org) |
Component: | PCI | Assignee: | Bjorn Helgaas (bjorn) |
Status: | RESOLVED CODE_FIX | ||
Severity: | normal | CC: | bjorn, charles_rose, myron.stowe |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 4.7.2 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
Output of dmesg: `dmesg > 20160824--dell-precision-tower-5810--dmesg.log`
Quirk to silence message |
Created attachment 230071 [details] Quirk to silence message I don't think updating firmware will make any difference. That device ([8086:2fc0]) put a device-specific register (CONFIG_TDP_NOMINAL_CSR) at offset 0x10, which is supposed to be a BAR. This is erratum, HSE43 in http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/xeon-e5-v3-spec-update.pdf I think Linux already handles this correctly: we just ignore that BAR. But we probably should do that silently to avoid the alarming message. Can you try this patch? Yes, per Intel: ".. it is an uncore function in the CPU, and yes, it's read-only, with a fixed value, ..." "You might discuss this issue with the platform provider. Device 30, function 3 should be hidden by the platform BIOS." Bjorn already provided the errata - HSE43 entry - in Comment 1. Myron Thank you very much for the prompt replies, and I am sorry for my late one. I confirm that the message is indeed gone with Linux 4.8-rc8. ``` $ uname -r 4.8.0-rc7.mx64.104 $ dmesg | grep -i firmware [ 1.005182] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored ``` I am therefore setting the status to *RESOLVED/CODE_FIX*. Thank you again. |
Created attachment 230041 [details] Output of dmesg: `dmesg > 20160824--dell-precision-tower-5810--dmesg.log` Linux 4.7.2 (and before) shows the following error on the Dell Precision Tower 5810/0K240Y. ``` $ dmesg | grep "invalid BAR" pci 0000:ff:1e.3: [Firmware Bug]: reg 0x10: invalid BAR (can't size) ``` Here is some output from lspci. ``` $ sudo lspci -xxx -s 00:00.0 00:00.0 Host bridge: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 DMI2 (rev 02) 00: 86 80 00 2f 00 04 10 00 02 00 00 06 00 00 00 00 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 28 10 17 06 30: 00 00 00 00 90 00 00 00 00 00 00 00 00 01 00 00 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50: 00 e0 ff fb 00 00 00 00 00 00 00 00 00 00 00 00 60: 05 90 02 01 00 00 00 00 00 00 00 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90: 10 e0 42 00 00 80 00 00 00 00 00 00 41 38 79 00 a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0: 00 00 00 00 9e 13 00 00 00 00 00 00 06 00 00 00 c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 01 00 03 00 08 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 $ sudo lspci -xxx -s ff:1e.3 ff:1e.3 System peripheral: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 Power Control Unit (rev 02) 00: 86 80 c0 2f 00 00 00 00 02 00 80 08 00 00 80 00 10: 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 86 80 c0 2f 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40: 00 03 00 00 0c 03 00 00 0c 03 00 00 0c 03 00 00 50: 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 70: 60 04 20 00 00 00 94 00 00 00 00 00 00 00 94 00 80: 09 00 20 01 05 81 18 00 83 02 00 20 00 00 a0 7f 90: 00 08 92 00 01 84 03 34 77 00 00 00 77 00 00 40 a0: 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 b0: 00 03 00 01 3f 00 00 00 3f 00 00 00 00 00 00 00 c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 00 21 00 00 00 f0: 00 00 00 80 00 10 00 00 58 01 00 00 00 00 00 00 ``` Please find all Linux messages attached. Should I just update the firmware, and see if it’s fixed there, or should Linux better handle this case?