2020-11-06 02:05:31

by Prashant Malani

[permalink] [raw]
Subject: [PATCH] platform/chrome: cros_ec_typec: Tolerate unrecognized mux flags

On occasion, the Chrome Embedded Controller (EC) can send a mux
configuration which doesn't map to a particular data mode. For instance,
dedicated Type C chargers, when connected, may cause only
USB_PD_MUX_POLARITY_INVERTED to be set. This is a valid flag combination
and should not lead to a driver abort.

Modify the mux configuration handling to not return an error when an
unrecognized mux flag combination is encountered. Concordantly, make the
ensuing print a debug level print so as to not pollute the kernel logs.

Cc: Keith Short <[email protected]>
Signed-off-by: Prashant Malani <[email protected]>
---
drivers/platform/chrome/cros_ec_typec.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
index ce031a10eb1b..5b8db02ab84a 100644
--- a/drivers/platform/chrome/cros_ec_typec.c
+++ b/drivers/platform/chrome/cros_ec_typec.c
@@ -537,10 +537,9 @@ static int cros_typec_configure_mux(struct cros_typec_data *typec, int port_num,
port->state.mode = TYPEC_STATE_USB;
ret = typec_mux_set(port->mux, &port->state);
} else {
- dev_info(typec->dev,
- "Unsupported mode requested, mux flags: %x\n",
- mux_flags);
- ret = -ENOTSUPP;
+ dev_dbg(typec->dev,
+ "Unrecognized mode requested, mux flags: %x\n",
+ mux_flags);
}

return ret;
--
2.29.1.341.ge80a0c044ae-goog


2020-11-17 19:12:05

by Prashant Malani

[permalink] [raw]
Subject: Re: [PATCH] platform/chrome: cros_ec_typec: Tolerate unrecognized mux flags

Including Heikki, who I forgot to add in the original patch email.

On Thu, Nov 05, 2020 at 06:03:05PM -0800, Prashant Malani wrote:
> On occasion, the Chrome Embedded Controller (EC) can send a mux
> configuration which doesn't map to a particular data mode. For instance,
> dedicated Type C chargers, when connected, may cause only
> USB_PD_MUX_POLARITY_INVERTED to be set. This is a valid flag combination
> and should not lead to a driver abort.
>
> Modify the mux configuration handling to not return an error when an
> unrecognized mux flag combination is encountered. Concordantly, make the
> ensuing print a debug level print so as to not pollute the kernel logs.
>
> Cc: Keith Short <[email protected]>
> Signed-off-by: Prashant Malani <[email protected]>
> ---
> drivers/platform/chrome/cros_ec_typec.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
> index ce031a10eb1b..5b8db02ab84a 100644
> --- a/drivers/platform/chrome/cros_ec_typec.c
> +++ b/drivers/platform/chrome/cros_ec_typec.c
> @@ -537,10 +537,9 @@ static int cros_typec_configure_mux(struct cros_typec_data *typec, int port_num,
> port->state.mode = TYPEC_STATE_USB;
> ret = typec_mux_set(port->mux, &port->state);
> } else {
> - dev_info(typec->dev,
> - "Unsupported mode requested, mux flags: %x\n",
> - mux_flags);
> - ret = -ENOTSUPP;
> + dev_dbg(typec->dev,
> + "Unrecognized mode requested, mux flags: %x\n",
> + mux_flags);
> }
>
> return ret;
> --
> 2.29.1.341.ge80a0c044ae-goog
>

2020-11-20 07:35:28

by Heikki Krogerus

[permalink] [raw]
Subject: Re: [PATCH] platform/chrome: cros_ec_typec: Tolerate unrecognized mux flags

On Thu, Nov 05, 2020 at 06:03:05PM -0800, Prashant Malani wrote:
> On occasion, the Chrome Embedded Controller (EC) can send a mux
> configuration which doesn't map to a particular data mode. For instance,
> dedicated Type C chargers, when connected, may cause only
> USB_PD_MUX_POLARITY_INVERTED to be set. This is a valid flag combination
> and should not lead to a driver abort.
>
> Modify the mux configuration handling to not return an error when an
> unrecognized mux flag combination is encountered. Concordantly, make the
> ensuing print a debug level print so as to not pollute the kernel logs.
>
> Cc: Keith Short <[email protected]>
> Signed-off-by: Prashant Malani <[email protected]>

FWIW:

Acked-by: Heikki Krogerus <[email protected]>

> ---
> drivers/platform/chrome/cros_ec_typec.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
> index ce031a10eb1b..5b8db02ab84a 100644
> --- a/drivers/platform/chrome/cros_ec_typec.c
> +++ b/drivers/platform/chrome/cros_ec_typec.c
> @@ -537,10 +537,9 @@ static int cros_typec_configure_mux(struct cros_typec_data *typec, int port_num,
> port->state.mode = TYPEC_STATE_USB;
> ret = typec_mux_set(port->mux, &port->state);
> } else {
> - dev_info(typec->dev,
> - "Unsupported mode requested, mux flags: %x\n",
> - mux_flags);
> - ret = -ENOTSUPP;
> + dev_dbg(typec->dev,
> + "Unrecognized mode requested, mux flags: %x\n",
> + mux_flags);
> }
>
> return ret;
> --
> 2.29.1.341.ge80a0c044ae-goog

thanks,

--
heikki

2020-12-05 01:16:19

by Prashant Malani

[permalink] [raw]
Subject: Re: [PATCH] platform/chrome: cros_ec_typec: Tolerate unrecognized mux flags

Friendly ping. If there are not other reservations, can we pick this
patch? It doesn't depend on any other patch series.

Thanks,

On Thu, Nov 19, 2020 at 11:32 PM Heikki Krogerus
<[email protected]> wrote:
>
> On Thu, Nov 05, 2020 at 06:03:05PM -0800, Prashant Malani wrote:
> > On occasion, the Chrome Embedded Controller (EC) can send a mux
> > configuration which doesn't map to a particular data mode. For instance,
> > dedicated Type C chargers, when connected, may cause only
> > USB_PD_MUX_POLARITY_INVERTED to be set. This is a valid flag combination
> > and should not lead to a driver abort.
> >
> > Modify the mux configuration handling to not return an error when an
> > unrecognized mux flag combination is encountered. Concordantly, make the
> > ensuing print a debug level print so as to not pollute the kernel logs.
> >
> > Cc: Keith Short <[email protected]>
> > Signed-off-by: Prashant Malani <[email protected]>
>
> FWIW:
>
> Acked-by: Heikki Krogerus <[email protected]>
>
> > ---
> > drivers/platform/chrome/cros_ec_typec.c | 7 +++----
> > 1 file changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
> > index ce031a10eb1b..5b8db02ab84a 100644
> > --- a/drivers/platform/chrome/cros_ec_typec.c
> > +++ b/drivers/platform/chrome/cros_ec_typec.c
> > @@ -537,10 +537,9 @@ static int cros_typec_configure_mux(struct cros_typec_data *typec, int port_num,
> > port->state.mode = TYPEC_STATE_USB;
> > ret = typec_mux_set(port->mux, &port->state);
> > } else {
> > - dev_info(typec->dev,
> > - "Unsupported mode requested, mux flags: %x\n",
> > - mux_flags);
> > - ret = -ENOTSUPP;
> > + dev_dbg(typec->dev,
> > + "Unrecognized mode requested, mux flags: %x\n",
> > + mux_flags);
> > }
> >
> > return ret;
> > --
> > 2.29.1.341.ge80a0c044ae-goog
>
> thanks,
>
> --
> heikki

2020-12-10 21:25:59

by Benson Leung

[permalink] [raw]
Subject: Re: [PATCH] platform/chrome: cros_ec_typec: Tolerate unrecognized mux flags

On Thu, 5 Nov 2020 18:03:05 -0800, Prashant Malani wrote:
> On occasion, the Chrome Embedded Controller (EC) can send a mux
> configuration which doesn't map to a particular data mode. For instance,
> dedicated Type C chargers, when connected, may cause only
> USB_PD_MUX_POLARITY_INVERTED to be set. This is a valid flag combination
> and should not lead to a driver abort.
>
> Modify the mux configuration handling to not return an error when an
> unrecognized mux flag combination is encountered. Concordantly, make the
> ensuing print a debug level print so as to not pollute the kernel logs.

Applied, thanks!

[1/1] platform/chrome: cros_ec_typec: Tolerate unrecognized mux flags
commit: 6ae9b5ffcaeba64c290dfb8bd7b0194b1fdf0c92

Best regards,

--
Benson Leung
Staff Software Engineer
Chrome OS Kernel
Google Inc.
[email protected]
Chromium OS Project
[email protected]


Attachments:
(No filename) (912.00 B)
signature.asc (235.00 B)
Download all attachments