diff mbox series

platform/x86: intel-wmi-thunderbolt: Add dynamic debugging

Message ID 1537978258-2907-1-git-send-email-mario.limonciello@dell.com (mailing list archive)
State Accepted, archived
Delegated to: Andy Shevchenko
Headers show
Series platform/x86: intel-wmi-thunderbolt: Add dynamic debugging | expand

Commit Message

Limonciello, Mario Sept. 26, 2018, 4:10 p.m. UTC
Some users have been reporting issues with thunderbolt being turned off
before fully initialized.  This is suspected to be caused by userspace
turning off the Thunderbolt controller using intel-wmi-thunderbolt
prematurely.

Details are available here:
https://bugzilla.kernel.org/show_bug.cgi?id=201227
https://bugzilla.kernel.org/show_bug.cgi?id=199631

Userspace has already made some mitigiations for this situation:
https://github.com/hughsie/fwupd/commit/ef6f1d76983c9b66
https://github.com/hughsie/fwupd/commit/c07ce5b4889a5384

To allow easier debugging of this situation add output that can be turned
on with dynamic debugging to better root cause this problem.

Suggested-by: Mika Westerberg <mika.westerberg@intel.com>
Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
---
 drivers/platform/x86/intel-wmi-thunderbolt.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Andy Shevchenko Sept. 26, 2018, 5:02 p.m. UTC | #1
On Wed, Sep 26, 2018 at 7:11 PM Mario Limonciello
<mario.limonciello@dell.com> wrote:
>
> Some users have been reporting issues with thunderbolt being turned off
> before fully initialized.  This is suspected to be caused by userspace
> turning off the Thunderbolt controller using intel-wmi-thunderbolt
> prematurely.
>

> Details are available here:
> https://bugzilla.kernel.org/show_bug.cgi?id=201227
> https://bugzilla.kernel.org/show_bug.cgi?id=199631

BugLink: ... ?
BugLink: ... ?

I can do it myself if you are okay with this format.

The patch itself LGTM.

>
> Userspace has already made some mitigiations for this situation:
> https://github.com/hughsie/fwupd/commit/ef6f1d76983c9b66
> https://github.com/hughsie/fwupd/commit/c07ce5b4889a5384
>
> To allow easier debugging of this situation add output that can be turned
> on with dynamic debugging to better root cause this problem.
>
> Suggested-by: Mika Westerberg <mika.westerberg@intel.com>
> Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
> ---
>  drivers/platform/x86/intel-wmi-thunderbolt.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/platform/x86/intel-wmi-thunderbolt.c b/drivers/platform/x86/intel-wmi-thunderbolt.c
> index c2257bd..ce5fbf0 100644
> --- a/drivers/platform/x86/intel-wmi-thunderbolt.c
> +++ b/drivers/platform/x86/intel-wmi-thunderbolt.c
> @@ -38,12 +38,16 @@ static ssize_t force_power_store(struct device *dev,
>         input.length = sizeof(u8);
>         input.pointer = &mode;
>         mode = hex_to_bin(buf[0]);
> +       dev_dbg(dev, "force_power: storing %#x\n", mode);
>         if (mode == 0 || mode == 1) {
>                 status = wmi_evaluate_method(INTEL_WMI_THUNDERBOLT_GUID, 0, 1,
>                                              &input, NULL);
> -               if (ACPI_FAILURE(status))
> +               if (ACPI_FAILURE(status)) {
> +                       dev_dbg(dev, "force_power: failed to evaluate ACPI method\n");
>                         return -ENODEV;
> +               }
>         } else {
> +               dev_dbg(dev, "force_power: unsupported mode\n");
>                 return -EINVAL;
>         }
>         return count;
> --
> 2.7.4
>
Limonciello, Mario Sept. 26, 2018, 5:03 p.m. UTC | #2
> 
> On Wed, Sep 26, 2018 at 7:11 PM Mario Limonciello
> <mario.limonciello@dell.com> wrote:
> >
> > Some users have been reporting issues with thunderbolt being turned off
> > before fully initialized.  This is suspected to be caused by userspace
> > turning off the Thunderbolt controller using intel-wmi-thunderbolt
> > prematurely.
> >
> 
> > Details are available here:
> > https://bugzilla.kernel.org/show_bug.cgi?id=201227
> > https://bugzilla.kernel.org/show_bug.cgi?id=199631
> 
> BugLink: ... ?
> BugLink: ... ?
> 
> I can do it myself if you are okay with this format.
> 
> The patch itself LGTM.

Sure, thank you.

> 
> >
> > Userspace has already made some mitigiations for this situation:
> > https://github.com/hughsie/fwupd/commit/ef6f1d76983c9b66
> > https://github.com/hughsie/fwupd/commit/c07ce5b4889a5384
> >
> > To allow easier debugging of this situation add output that can be turned
> > on with dynamic debugging to better root cause this problem.
> >
> > Suggested-by: Mika Westerberg <mika.westerberg@intel.com>
> > Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
> > ---
> >  drivers/platform/x86/intel-wmi-thunderbolt.c | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/platform/x86/intel-wmi-thunderbolt.c
> b/drivers/platform/x86/intel-wmi-thunderbolt.c
> > index c2257bd..ce5fbf0 100644
> > --- a/drivers/platform/x86/intel-wmi-thunderbolt.c
> > +++ b/drivers/platform/x86/intel-wmi-thunderbolt.c
> > @@ -38,12 +38,16 @@ static ssize_t force_power_store(struct device *dev,
> >         input.length = sizeof(u8);
> >         input.pointer = &mode;
> >         mode = hex_to_bin(buf[0]);
> > +       dev_dbg(dev, "force_power: storing %#x\n", mode);
> >         if (mode == 0 || mode == 1) {
> >                 status = wmi_evaluate_method(INTEL_WMI_THUNDERBOLT_GUID, 0, 1,
> >                                              &input, NULL);
> > -               if (ACPI_FAILURE(status))
> > +               if (ACPI_FAILURE(status)) {
> > +                       dev_dbg(dev, "force_power: failed to evaluate ACPI method\n");
> >                         return -ENODEV;
> > +               }
> >         } else {
> > +               dev_dbg(dev, "force_power: unsupported mode\n");
> >                 return -EINVAL;
> >         }
> >         return count;
> > --
> > 2.7.4
> >
> 
> 
> --
> With Best Regards,
> Andy Shevchenko
Andy Shevchenko Sept. 26, 2018, 5:10 p.m. UTC | #3
On Wed, Sep 26, 2018 at 8:03 PM <Mario.Limonciello@dell.com> wrote:
>
> >
> > On Wed, Sep 26, 2018 at 7:11 PM Mario Limonciello
> > <mario.limonciello@dell.com> wrote:
> > >
> > > Some users have been reporting issues with thunderbolt being turned off
> > > before fully initialized.  This is suspected to be caused by userspace
> > > turning off the Thunderbolt controller using intel-wmi-thunderbolt
> > > prematurely.
> > >
> >
> > > Details are available here:
> > > https://bugzilla.kernel.org/show_bug.cgi?id=201227
> > > https://bugzilla.kernel.org/show_bug.cgi?id=199631
> >
> > BugLink: ... ?
> > BugLink: ... ?
> >
> > I can do it myself if you are okay with this format.
> >
> > The patch itself LGTM.
>
> Sure, thank you.

Pushed to my review and testing queue with mentioned changes, thanks!

>
> >
> > >
> > > Userspace has already made some mitigiations for this situation:
> > > https://github.com/hughsie/fwupd/commit/ef6f1d76983c9b66
> > > https://github.com/hughsie/fwupd/commit/c07ce5b4889a5384
> > >
> > > To allow easier debugging of this situation add output that can be turned
> > > on with dynamic debugging to better root cause this problem.
> > >
> > > Suggested-by: Mika Westerberg <mika.westerberg@intel.com>
> > > Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
> > > ---
> > >  drivers/platform/x86/intel-wmi-thunderbolt.c | 6 +++++-
> > >  1 file changed, 5 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/platform/x86/intel-wmi-thunderbolt.c
> > b/drivers/platform/x86/intel-wmi-thunderbolt.c
> > > index c2257bd..ce5fbf0 100644
> > > --- a/drivers/platform/x86/intel-wmi-thunderbolt.c
> > > +++ b/drivers/platform/x86/intel-wmi-thunderbolt.c
> > > @@ -38,12 +38,16 @@ static ssize_t force_power_store(struct device *dev,
> > >         input.length = sizeof(u8);
> > >         input.pointer = &mode;
> > >         mode = hex_to_bin(buf[0]);
> > > +       dev_dbg(dev, "force_power: storing %#x\n", mode);
> > >         if (mode == 0 || mode == 1) {
> > >                 status = wmi_evaluate_method(INTEL_WMI_THUNDERBOLT_GUID, 0, 1,
> > >                                              &input, NULL);
> > > -               if (ACPI_FAILURE(status))
> > > +               if (ACPI_FAILURE(status)) {
> > > +                       dev_dbg(dev, "force_power: failed to evaluate ACPI method\n");
> > >                         return -ENODEV;
> > > +               }
> > >         } else {
> > > +               dev_dbg(dev, "force_power: unsupported mode\n");
> > >                 return -EINVAL;
> > >         }
> > >         return count;
> > > --
> > > 2.7.4
> > >
> >
> >
> > --
> > With Best Regards,
> > Andy Shevchenko
Mika Westerberg Sept. 26, 2018, 6:34 p.m. UTC | #4
On Wed, Sep 26, 2018 at 11:10:58AM -0500, Mario Limonciello wrote:
> Some users have been reporting issues with thunderbolt being turned off
> before fully initialized.  This is suspected to be caused by userspace
> turning off the Thunderbolt controller using intel-wmi-thunderbolt
> prematurely.
> 
> Details are available here:
> https://bugzilla.kernel.org/show_bug.cgi?id=201227
> https://bugzilla.kernel.org/show_bug.cgi?id=199631
> 
> Userspace has already made some mitigiations for this situation:
                                  ^^^^^^^^^^^^
mitigations?

> https://github.com/hughsie/fwupd/commit/ef6f1d76983c9b66
> https://github.com/hughsie/fwupd/commit/c07ce5b4889a5384
> 
> To allow easier debugging of this situation add output that can be turned
> on with dynamic debugging to better root cause this problem.
> 
> Suggested-by: Mika Westerberg <mika.westerberg@intel.com>
> Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>

Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Andy Shevchenko Sept. 26, 2018, 7:25 p.m. UTC | #5
On Wed, Sep 26, 2018 at 9:34 PM Mika Westerberg
<mika.westerberg@intel.com> wrote:
>
> On Wed, Sep 26, 2018 at 11:10:58AM -0500, Mario Limonciello wrote:
> > Some users have been reporting issues with thunderbolt being turned off
> > before fully initialized.  This is suspected to be caused by userspace
> > turning off the Thunderbolt controller using intel-wmi-thunderbolt
> > prematurely.
> >
> > Details are available here:
> > https://bugzilla.kernel.org/show_bug.cgi?id=201227
> > https://bugzilla.kernel.org/show_bug.cgi?id=199631
> >
> > Userspace has already made some mitigiations for this situation:
>                                   ^^^^^^^^^^^^
> mitigations?

I've fixed that, but in any case I need to add your tag, thanks!


>
> > https://github.com/hughsie/fwupd/commit/ef6f1d76983c9b66
> > https://github.com/hughsie/fwupd/commit/c07ce5b4889a5384
> >
> > To allow easier debugging of this situation add output that can be turned
> > on with dynamic debugging to better root cause this problem.
> >
> > Suggested-by: Mika Westerberg <mika.westerberg@intel.com>
> > Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
>
> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
diff mbox series

Patch

diff --git a/drivers/platform/x86/intel-wmi-thunderbolt.c b/drivers/platform/x86/intel-wmi-thunderbolt.c
index c2257bd..ce5fbf0 100644
--- a/drivers/platform/x86/intel-wmi-thunderbolt.c
+++ b/drivers/platform/x86/intel-wmi-thunderbolt.c
@@ -38,12 +38,16 @@  static ssize_t force_power_store(struct device *dev,
 	input.length = sizeof(u8);
 	input.pointer = &mode;
 	mode = hex_to_bin(buf[0]);
+	dev_dbg(dev, "force_power: storing %#x\n", mode);
 	if (mode == 0 || mode == 1) {
 		status = wmi_evaluate_method(INTEL_WMI_THUNDERBOLT_GUID, 0, 1,
 					     &input, NULL);
-		if (ACPI_FAILURE(status))
+		if (ACPI_FAILURE(status)) {
+			dev_dbg(dev, "force_power: failed to evaluate ACPI method\n");
 			return -ENODEV;
+		}
 	} else {
+		dev_dbg(dev, "force_power: unsupported mode\n");
 		return -EINVAL;
 	}
 	return count;