diff --git a/[refs] b/[refs] index aea217cccf70..239d8ea36388 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ae42f234470662aefe65ab59a0ef228f1f6f9c77 +refs/heads/master: b096667bc3f01e2468df56d4a241dc5231b2f2aa diff --git a/trunk/drivers/platform/x86/hp-wmi.c b/trunk/drivers/platform/x86/hp-wmi.c index d55bf58ce8f9..34b417848e29 100644 --- a/trunk/drivers/platform/x86/hp-wmi.c +++ b/trunk/drivers/platform/x86/hp-wmi.c @@ -711,8 +711,10 @@ static int hp_wmi_resume_handler(struct device *device) static int __init hp_wmi_init(void) { int err; + int event_capable = wmi_has_guid(HPWMI_EVENT_GUID); + int bios_capable = wmi_has_guid(HPWMI_BIOS_GUID); - if (wmi_has_guid(HPWMI_EVENT_GUID)) { + if (event_capable) { err = wmi_install_notify_handler(HPWMI_EVENT_GUID, hp_wmi_notify, NULL); if (ACPI_FAILURE(err)) @@ -724,7 +726,7 @@ static int __init hp_wmi_init(void) } } - if (wmi_has_guid(HPWMI_BIOS_GUID)) { + if (bios_capable) { err = platform_driver_register(&hp_wmi_driver); if (err) goto err_driver_reg; @@ -738,6 +740,9 @@ static int __init hp_wmi_init(void) goto err_device_add; } + if (!bios_capable && !event_capable) + return -ENODEV; + return 0; err_device_add: