RE: [PATCH v2] USB: chipidea: Do not hang when CONFIG_USB_CHIPIDEA_ULPI is not selected

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 
> 
> On Mon, Jun 25, 2018 at 7:24 AM Fabio Estevam <festevam@xxxxxxxxx> wrote:
> >
> > From: Fabio Estevam <fabio.estevam@xxxxxxx>
> >
> > Since commit 03e6275ae381087bd8 ("usb: chipidea: Fix ULPI on imx51")
> > the kernel hangs on a imx51-babbage board, when using the ULPI
> > interface with the CONFIG_USB_CHIPIDEA_ULPI option unselected.
> >
> > Instead of hanging the kernel, let's warn the user that
> > CONFIG_USB_CHIPIDEA_ULPI needs to be selected, propagate an error and
> > continue with booting the kernel.
> >
> > The user can then react to the warning and select
> > CONFIG_USB_CHIPIDEA_ULPI as needed.
> >
> > Fixes: 03e6275ae381087bd8 ("usb: chipidea: Fix ULPI on imx51")
> > Suggested-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
> > Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxx>
> 
> FWIW:
> 
> Tested-by: Andrey Smirnov <andrew.smirnov@xxxxxxxxx>
> 
> > ---
> > Changes since v1:
> > - Only propagate the error when CONFIG_USB_CHIPIDEA_ULPI is unselected
> >
> >  drivers/usb/chipidea/core.c | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> >
> > diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
> > index 85fc6db..e7018a1 100644
> > --- a/drivers/usb/chipidea/core.c
> > +++ b/drivers/usb/chipidea/core.c
> > @@ -608,6 +608,17 @@ static int ci_get_platdata(struct device *dev,
> >         if (!platdata->phy_mode)
> >                 platdata->phy_mode =
> > of_usb_get_phy_mode(dev->of_node);
> >
> > +       if (platdata->phy_mode == USBPHY_INTERFACE_MODE_ULPI) {
> > +               /*
> > +                * CONFIG_USB_CHIPIDEA_ULPI needs to be selected
> > +                * for proper usage of the ULPI mode
> > +                */
> > +               if (!IS_ENABLED(CONFIG_USB_CHIPIDEA_ULPI)) {
> > +                       WARN_ONCE(1, "Select CONFIG_USB_CHIPIDEA_ULPI in order
> to use ULPI mode\n");
> > +                       return -EINVAL;
> > +               }
> > +       }
> > +
> >         if (!platdata->dr_mode)
> >                 platdata->dr_mode = usb_get_dr_mode(dev);
> >

Fabio, since this function has dependency with defconfig, is the defconfig change a fix for v4.18-rc
or for v4.19-rc1?

Peter
��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux