diff options
-rw-r--r-- | drivers/platform/x86/intel_ips.c | 22 |
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 | ||
1506 | MODULE_DEVICE_TABLE(pci, ips_id_table); | 1507 | MODULE_DEVICE_TABLE(pci, ips_id_table); |
1507 | 1508 | ||
1509 | static 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 | |||
1515 | static 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 | |||
1508 | static int ips_probe(struct pci_dev *dev, const struct pci_device_id *id) | 1527 | static 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; |