Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1692324 > unrolled thread

[lkp-robot] [platform/x86] bff589be59: kmsg.dell_wmi:Cannot_read_Dell_descriptor_buffer

Started bykernel test robot <xiaolong.ye@intel.com>
First post2017-07-20 03:10 +0200
Last post2017-07-20 20:40 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [lkp-robot] [platform/x86]  bff589be59:  kmsg.dell_wmi:Cannot_read_Dell_descriptor_buffer kernel test robot <xiaolong.ye@intel.com> - 2017-07-20 03:10 +0200
    Re: [lkp-robot] [platform/x86]  bff589be59:  kmsg.dell_wmi:Cannot_read_Dell_descriptor_buffer Pali Rohár <pali.rohar@gmail.com> - 2017-07-20 18:30 +0200
      Re: [lkp-robot] [platform/x86] bff589be59: kmsg.dell_wmi:Cannot_read_Dell_descriptor_buffer Andy Lutomirski <luto@kernel.org> - 2017-07-20 20:40 +0200

#1692324 — [lkp-robot] [platform/x86] bff589be59: kmsg.dell_wmi:Cannot_read_Dell_descriptor_buffer

Fromkernel test robot <xiaolong.ye@intel.com>
Date2017-07-20 03:10 +0200
Subject[lkp-robot] [platform/x86] bff589be59: kmsg.dell_wmi:Cannot_read_Dell_descriptor_buffer
Message-ID<u588z-8k2-19@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

FYI, we noticed the following commit:

commit: bff589be59c50924a9715951160578e570cba5c6 ("platform/x86: dell-wmi: Convert to the WMI bus infrastructure")
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master

in testcase: boot

on test machine: qemu-system-x86_64 -enable-kvm -m 420M

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):


[    7.102869] usbhid: USB HID core driver
[    7.104086] dell_wmi: Cannot read Dell descriptor buffer - 1
[    7.104088] acer_wmi: Acer Laptop ACPI-WMI Extras
[    7.104097] acer_wmi: No or unsupported WMI interface, unable to load



To reproduce:

        git clone https://github.com/01org/lkp-tests.git
        cd lkp-tests
        bin/lkp qemu -k <bzImage> job-script  # job-script is attached in this email



Thanks,
Xiaolong

[toc] | [next] | [standalone]


#1693082

FromPali Rohár <pali.rohar@gmail.com>
Date2017-07-20 18:30 +0200
Message-ID<u5muR-1rW-1@gated-at.bofh.it>
In reply to#1692324
On Thursday 20 July 2017 09:02:20 kernel test robot wrote:
> commit: bff589be59c50924a9715951160578e570cba5c6 ("platform/x86: dell-wmi: Convert to the WMI bus infrastructure")
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
> 
> caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
> 
> [    7.104086] dell_wmi: Cannot read Dell descriptor buffer - 1

Hi Andy! Problem is in following code:

static int __init dell_wmi_init(void)
{
	int err;

	err = dell_wmi_check_descriptor_buffer();
	if (err)
		return err;

	dmi_check_system(dell_wmi_smbios_list);

	if (wmi_requires_smbios_request) {
		err = dell_wmi_events_set_enabled(true);
		if (err) {
			pr_err("Failed to enable WMI events\n");
			return err;
		}
	}

	return wmi_driver_register(&dell_wmi_driver);
}
module_init(dell_wmi_init);

static void __exit dell_wmi_exit(void)
{
	if (wmi_requires_smbios_request)
		dell_wmi_events_set_enabled(false);

	wmi_driver_unregister(&dell_wmi_driver);
}
module_exit(dell_wmi_exit);

dell_wmi_init and dell_wmi_exit should just call wmi_driver_register and
wmi_driver_unregister.

All those other calls (like different checks or enabling wmi events)
should be done in dell_wmi_probe from dell_wmi_driver structure. Same
for dell_wmi_remove.

Basically with this bus interface you should be able to load dell-wmi.ko
also on non-dell machines. Just bus code would not create and register
wmi device and so no probe would be called.

-- 
Pali Rohár
pali.rohar@gmail.com

[toc] | [prev] | [next] | [standalone]


#1693158 — Re: [lkp-robot] [platform/x86] bff589be59: kmsg.dell_wmi:Cannot_read_Dell_descriptor_buffer

FromAndy Lutomirski <luto@kernel.org>
Date2017-07-20 20:40 +0200
SubjectRe: [lkp-robot] [platform/x86] bff589be59: kmsg.dell_wmi:Cannot_read_Dell_descriptor_buffer
Message-ID<u5owG-2Da-11@gated-at.bofh.it>
In reply to#1693082
On Thu, Jul 20, 2017 at 9:23 AM, Pali Rohár <pali.rohar@gmail.com> wrote:
> On Thursday 20 July 2017 09:02:20 kernel test robot wrote:
>> commit: bff589be59c50924a9715951160578e570cba5c6 ("platform/x86: dell-wmi: Convert to the WMI bus infrastructure")
>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
>>
>> caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
>>
>> [    7.104086] dell_wmi: Cannot read Dell descriptor buffer - 1
>
> Hi Andy! Problem is in following code:
>
> static int __init dell_wmi_init(void)
> {
>         int err;
>
>         err = dell_wmi_check_descriptor_buffer();
>         if (err)
>                 return err;
>
>         dmi_check_system(dell_wmi_smbios_list);
>
>         if (wmi_requires_smbios_request) {
>                 err = dell_wmi_events_set_enabled(true);
>                 if (err) {
>                         pr_err("Failed to enable WMI events\n");
>                         return err;
>                 }
>         }
>
>         return wmi_driver_register(&dell_wmi_driver);
> }
> module_init(dell_wmi_init);
>
> static void __exit dell_wmi_exit(void)
> {
>         if (wmi_requires_smbios_request)
>                 dell_wmi_events_set_enabled(false);
>
>         wmi_driver_unregister(&dell_wmi_driver);
> }
> module_exit(dell_wmi_exit);
>
> dell_wmi_init and dell_wmi_exit should just call wmi_driver_register and
> wmi_driver_unregister.
>
> All those other calls (like different checks or enabling wmi events)
> should be done in dell_wmi_probe from dell_wmi_driver structure. Same
> for dell_wmi_remove.
>
> Basically with this bus interface you should be able to load dell-wmi.ko
> also on non-dell machines. Just bus code would not create and register
> wmi device and so no probe would be called.

Yep.  Fix coming once I test it.

>
> --
> Pali Rohár
> pali.rohar@gmail.com

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web