Sorry, late to the party.

On Fri, Sep 08, 2017 at 10:23:11AM -0500, Mario Limonciello wrote:
> +     mode = hex_to_bin(buf[0]);
> +     if (mode == 0 || mode == 1) {
> +             status = wmi_evaluate_method(INTEL_WMI_THUNDERBOLT_GUID, 0, 1,
> +                                          &input, NULL);
> +             if (ACPI_FAILURE(status)) {
> +                     pr_err("intel-wmi-thunderbolt: failed setting %s\n",
> +                            buf);
> +                     return -ENODEV;
> +             }
> +     } else {
> +             pr_err("intel-wmi-thunderbolt: unsupported mode: %d", mode);
> +     }
> +     return count;
> +}

Seems odd to allow user space to fill the log by writing invalid data
to sysfs, likewise that success is returned in the else case.
I'd drop both pr_err() and return -EINVAL in the else case.


> +static const struct wmi_device_id intel_wmi_thunderbolt_id_table[] = {
> +     { .guid_string = INTEL_WMI_THUNDERBOLT_GUID },
> +     { },
> +};

I'm not familiar with WMI, but don't you need a MODULE_DEVICE_TABLE here?
How does user space know which module to load upon receiving the uevent?

Thanks,

Lukas

Reply via email to