aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/platform/x86/intel_ips.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/platform/x86/intel_ips.c b/drivers/platform/x86/intel_ips.c
index 5ffe7c39814..e66bbba9929 100644
--- a/drivers/platform/x86/intel_ips.c
+++ b/drivers/platform/x86/intel_ips.c
@@ -72,6 +72,7 @@
72#include <linux/string.h> 72#include <linux/string.h>
73#include <linux/tick.h> 73#include <linux/tick.h>
74#include <linux/timer.h> 74#include <linux/timer.h>
75#include <linux/dmi.h>
75#include <drm/i915_drm.h> 76#include <drm/i915_drm.h>
76#include <asm/msr.h> 77#include <asm/msr.h>
77#include <asm/processor.h> 78#include <asm/processor.h>
@@ -1505,6 +1506,24 @@ static DEFINE_PCI_DEVICE_TABLE(ips_id_table) = {
1505 1506
1506MODULE_DEVICE_TABLE(pci, ips_id_table); 1507MODULE_DEVICE_TABLE(pci, ips_id_table);
1507 1508
1509static int ips_blacklist_callback(const struct dmi_system_id *id)
1510{
1511 pr_info("Blacklisted intel_ips for %s\n", id->ident);
1512 return 1;
1513}
1514
1515static const struct dmi_system_id ips_blacklist[] = {
1516 {
1517 .callback = ips_blacklist_callback,
1518 .ident = "HP ProBook",
1519 .matches = {
1520 DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
1521 DMI_MATCH(DMI_PRODUCT_NAME, "HP ProBook"),
1522 },
1523 },
1524 { } /* terminating entry */
1525};
1526
1508static int ips_probe(struct pci_dev *dev, const struct pci_device_id *id) 1527static int ips_probe(struct pci_dev *dev, const struct pci_device_id *id)
1509{ 1528{
1510 u64 platform_info; 1529 u64 platform_info;
@@ -1514,6 +1533,9 @@ static int ips_probe(struct pci_dev *dev, const struct pci_device_id *id)
1514 u16 htshi, trc, trc_required_mask; 1533 u16 htshi, trc, trc_required_mask;
1515 u8 tse; 1534 u8 tse;
1516 1535
1536 if (dmi_check_system(ips_blacklist))
1537 return -ENODEV;
1538
1517 ips = kzalloc(sizeof(struct ips_driver), GFP_KERNEL); 1539 ips = kzalloc(sizeof(struct ips_driver), GFP_KERNEL);
1518 if (!ips) 1540 if (!ips)
1519 return -ENOMEM; 1541 return -ENOMEM;