On Tue, Apr 17, 2018 at 02:45:56PM -0500, Mario Limonciello wrote: > Sergey reported that some much older Dell systems don't support > the OEM string "Dell System" but instead supported www.dell.com > in OEM strings. > > Match both of these to indicate that this driver is running on > a Dell system. > > Reported-by: Sergey Kubushyn <ksi@xxxxxxxx> > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxxx> > Tested-by: Sergey Kubushyn <ksi@xxxxxxxx> > --- > drivers/platform/x86/dell-smbios-base.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/platform/x86/dell-smbios-base.c b/drivers/platform/x86/dell-smbios-base.c > index 2485c80..fbd6557 100644 > --- a/drivers/platform/x86/dell-smbios-base.c > +++ b/drivers/platform/x86/dell-smbios-base.c > @@ -555,11 +555,15 @@ static void free_group(struct platform_device *pdev) > > static int __init dell_smbios_init(void) > { > - const struct dmi_device *valid; > + const struct dmi_device *valid_dell_system; > + const struct dmi_device *valid_www; > int ret, wmi, smm; > > - valid = dmi_find_device(DMI_DEV_TYPE_OEM_STRING, "Dell System", NULL); > - if (!valid) { > + valid_dell_system = > + dmi_find_device(DMI_DEV_TYPE_OEM_STRING, "Dell System", NULL); > + valid_www = > + dmi_find_device(DMI_DEV_TYPE_OEM_STRING, "www.dell.com", NULL); > + if (!valid_dell_system && !valid_www) { > pr_err("Unable to run on non-Dell system\n"); > return -ENODEV; > } Hrm, rather than introduce another variable that we don't use and always perform both tests, when most of the time we only need to do the first, how about something like: >From 2cb5959dadec769167350a9bcb1d212a02b17af8 Mon Sep 17 00:00:00 2001 Message-Id: <2cb5959dadec769167350a9bcb1d212a02b17af8.1524181265.git.dvhart@xxxxxxxxxxxxx> From: Mario Limonciello <mario.limonciello@xxxxxxxx> Date: Tue, 17 Apr 2018 14:45:56 -0500 Subject: [PATCH] platform/x86: dell-smbios: Match on www.dell.com in OEM strings too Sergey reported that some much older Dell systems don't support the OEM string "Dell System" but instead supported www.dell.com in OEM strings. Match both of these to indicate that this driver is running on a Dell system. Reported-by: Sergey Kubushyn <ksi@xxxxxxxx> Tested-by: Sergey Kubushyn <ksi@xxxxxxxx> Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxxx> [dvhart: Simplify DMI logic and eliminate unnecessary variables] Signed-off-by: Darren Hart (VMware) <dvhart@xxxxxxxxxxxxx> --- drivers/platform/x86/dell-smbios-base.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/platform/x86/dell-smbios-base.c b/drivers/platform/x86/dell-smbios-base.c index 33fb2a20458a..9dc282ed5a9e 100644 --- a/drivers/platform/x86/dell-smbios-base.c +++ b/drivers/platform/x86/dell-smbios-base.c @@ -555,11 +555,10 @@ static void free_group(struct platform_device *pdev) static int __init dell_smbios_init(void) { - const struct dmi_device *valid; int ret, wmi, smm; - valid = dmi_find_device(DMI_DEV_TYPE_OEM_STRING, "Dell System", NULL); - if (!valid) { + if (!dmi_find_device(DMI_DEV_TYPE_OEM_STRING, "Dell System", NULL) && + !dmi_find_device(DMI_DEV_TYPE_OEM_STRING, "www.dell.com", NULL)) { pr_err("Unable to run on non-Dell system\n"); return -ENODEV; } -- 2.14.3 -- Darren Hart VMware Open Source Technology Center