All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Cc: chunfeng.yun@mediatek.com, johan@kernel.org,
	gregkh@linuxfoundation.org, felipe.balbi@linux.intel.com,
	matthias.bgg@gmail.com, linux-usb@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org
Subject: Re: [PATCH 2/2] usb: core: phy: fix return value checking about devm_of_phy_get_by_index()
Date: Mon, 25 Jun 2018 07:29:30 +0200	[thread overview]
Message-ID: <20180625052930.GA26803@localhost> (raw)
In-Reply-To: <CAFBinCBS+fpfx6jaaqD=kqFuMF6ko8GikbV1ZVwgbDh-Sn8T8w@mail.gmail.com>

On Sun, Jun 24, 2018 at 08:00:01PM +0200, Martin Blumenstingl wrote:
> Hello Chunfeng,
> 
> thank you for the patch!
> 
> On Fri, Jun 22, 2018 at 8:33 AM Chunfeng Yun <chunfeng.yun@mediatek.com> wrote:

> > 2. devm_of_phy_get_by_index() should not fail for a valid index
> I have learned that the PHY framework can return -ENODEV if the PHY is:
> 1. supposed to be handled by the legacy USB PHY framework
> 2. the PHY node is disabled in devicetree
> 
> see [0] for the code in the PHY framework and [1] for the discussion
> with Johan (who informed me of case #1, I added him on this mail)
> 
> > Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> > ---
> >  drivers/usb/core/phy.c | 11 ++++-------
> >  1 file changed, 4 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/usb/core/phy.c b/drivers/usb/core/phy.c
> > index 9879767..0f972e1 100644
> > --- a/drivers/usb/core/phy.c
> > +++ b/drivers/usb/core/phy.c
> > @@ -23,14 +23,11 @@ static int usb_phy_roothub_add_phy(struct device *dev, int index,
> >                                    struct list_head *list)
> >  {
> >         struct usb_phy_roothub *roothub_entry;
> > -       struct phy *phy = devm_of_phy_get_by_index(dev, dev->of_node, index);
> > +       struct phy *phy;
> >
> > -       if (IS_ERR_OR_NULL(phy)) {
> > -               if (!phy || PTR_ERR(phy) == -ENODEV)
> > -                       return 0;
> > -               else
> > -                       return PTR_ERR(phy);
> > -       }
> > +       phy = devm_of_phy_get_by_index(dev, dev->of_node, index);
> > +       if (IS_ERR(phy))
> > +               return PTR_ERR(phy);
> @Johan can you please review this as well? maybe we need to keep the
> -ENODEV check

Indeed, the -ENODEV check is still needed for the reasons you point out
above.

Johan

WARNING: multiple messages have this Message-ID (diff)
From: Johan Hovold <johan@kernel.org>
To: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Cc: chunfeng.yun@mediatek.com, johan@kernel.org,
	gregkh@linuxfoundation.org, felipe.balbi@linux.intel.com,
	matthias.bgg@gmail.com, linux-usb@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org
Subject: [2/2] usb: core: phy: fix return value checking about devm_of_phy_get_by_index()
Date: Mon, 25 Jun 2018 07:29:30 +0200	[thread overview]
Message-ID: <20180625052930.GA26803@localhost> (raw)

On Sun, Jun 24, 2018 at 08:00:01PM +0200, Martin Blumenstingl wrote:
> Hello Chunfeng,
> 
> thank you for the patch!
> 
> On Fri, Jun 22, 2018 at 8:33 AM Chunfeng Yun <chunfeng.yun@mediatek.com> wrote:

> > 2. devm_of_phy_get_by_index() should not fail for a valid index
> I have learned that the PHY framework can return -ENODEV if the PHY is:
> 1. supposed to be handled by the legacy USB PHY framework
> 2. the PHY node is disabled in devicetree
> 
> see [0] for the code in the PHY framework and [1] for the discussion
> with Johan (who informed me of case #1, I added him on this mail)
> 
> > Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> > ---
> >  drivers/usb/core/phy.c | 11 ++++-------
> >  1 file changed, 4 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/usb/core/phy.c b/drivers/usb/core/phy.c
> > index 9879767..0f972e1 100644
> > --- a/drivers/usb/core/phy.c
> > +++ b/drivers/usb/core/phy.c
> > @@ -23,14 +23,11 @@ static int usb_phy_roothub_add_phy(struct device *dev, int index,
> >                                    struct list_head *list)
> >  {
> >         struct usb_phy_roothub *roothub_entry;
> > -       struct phy *phy = devm_of_phy_get_by_index(dev, dev->of_node, index);
> > +       struct phy *phy;
> >
> > -       if (IS_ERR_OR_NULL(phy)) {
> > -               if (!phy || PTR_ERR(phy) == -ENODEV)
> > -                       return 0;
> > -               else
> > -                       return PTR_ERR(phy);
> > -       }
> > +       phy = devm_of_phy_get_by_index(dev, dev->of_node, index);
> > +       if (IS_ERR(phy))
> > +               return PTR_ERR(phy);
> @Johan can you please review this as well? maybe we need to keep the
> -ENODEV check

Indeed, the -ENODEV check is still needed for the reasons you point out
above.

Johan
---
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: johan@kernel.org (Johan Hovold)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] usb: core: phy: fix return value checking about devm_of_phy_get_by_index()
Date: Mon, 25 Jun 2018 07:29:30 +0200	[thread overview]
Message-ID: <20180625052930.GA26803@localhost> (raw)
In-Reply-To: <CAFBinCBS+fpfx6jaaqD=kqFuMF6ko8GikbV1ZVwgbDh-Sn8T8w@mail.gmail.com>

On Sun, Jun 24, 2018 at 08:00:01PM +0200, Martin Blumenstingl wrote:
> Hello Chunfeng,
> 
> thank you for the patch!
> 
> On Fri, Jun 22, 2018 at 8:33 AM Chunfeng Yun <chunfeng.yun@mediatek.com> wrote:

> > 2. devm_of_phy_get_by_index() should not fail for a valid index
> I have learned that the PHY framework can return -ENODEV if the PHY is:
> 1. supposed to be handled by the legacy USB PHY framework
> 2. the PHY node is disabled in devicetree
> 
> see [0] for the code in the PHY framework and [1] for the discussion
> with Johan (who informed me of case #1, I added him on this mail)
> 
> > Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> > ---
> >  drivers/usb/core/phy.c | 11 ++++-------
> >  1 file changed, 4 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/usb/core/phy.c b/drivers/usb/core/phy.c
> > index 9879767..0f972e1 100644
> > --- a/drivers/usb/core/phy.c
> > +++ b/drivers/usb/core/phy.c
> > @@ -23,14 +23,11 @@ static int usb_phy_roothub_add_phy(struct device *dev, int index,
> >                                    struct list_head *list)
> >  {
> >         struct usb_phy_roothub *roothub_entry;
> > -       struct phy *phy = devm_of_phy_get_by_index(dev, dev->of_node, index);
> > +       struct phy *phy;
> >
> > -       if (IS_ERR_OR_NULL(phy)) {
> > -               if (!phy || PTR_ERR(phy) == -ENODEV)
> > -                       return 0;
> > -               else
> > -                       return PTR_ERR(phy);
> > -       }
> > +       phy = devm_of_phy_get_by_index(dev, dev->of_node, index);
> > +       if (IS_ERR(phy))
> > +               return PTR_ERR(phy);
> @Johan can you please review this as well? maybe we need to keep the
> -ENODEV check

Indeed, the -ENODEV check is still needed for the reasons you point out
above.

Johan

  reply	other threads:[~2018-06-25  5:29 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-22  6:33 [PATCH 1/2] usb: gadget: composite: fix delayed_status race condition when set_interface Chunfeng Yun
2018-06-22  6:33 ` Chunfeng Yun
2018-06-22  6:33 ` Chunfeng Yun
2018-06-22  6:33 ` [1/2] " Chunfeng Yun
2018-06-22  6:33 ` [PATCH 2/2] usb: core: phy: fix return value checking about devm_of_phy_get_by_index() Chunfeng Yun
2018-06-22  6:33   ` Chunfeng Yun
2018-06-22  6:33   ` Chunfeng Yun
2018-06-22  6:33   ` [2/2] " Chunfeng Yun
2018-06-24 18:00   ` [PATCH 2/2] " Martin Blumenstingl
2018-06-24 18:00     ` Martin Blumenstingl
2018-06-24 18:00     ` [2/2] " Martin Blumenstingl
2018-06-25  5:29     ` Johan Hovold [this message]
2018-06-25  5:29       ` [PATCH 2/2] " Johan Hovold
2018-06-25  5:29       ` [2/2] " Johan Hovold
2018-06-25  6:37     ` [PATCH 2/2] " Chunfeng Yun
2018-06-25  6:37       ` Chunfeng Yun
2018-06-25  6:37       ` Chunfeng Yun
2018-06-25  6:37       ` [2/2] " Chunfeng Yun
2018-06-25 17:32       ` [PATCH 2/2] " Martin Blumenstingl
2018-06-25 17:32         ` Martin Blumenstingl
2018-06-25 17:32         ` [2/2] " Martin Blumenstingl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180625052930.GA26803@localhost \
    --to=johan@kernel.org \
    --cc=chunfeng.yun@mediatek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=felipe.balbi@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=martin.blumenstingl@googlemail.com \
    --cc=matthias.bgg@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.