From: Felipe Balbi <balbi@ti.com>
To: Felipe Balbi <balbi@ti.com>
Cc: Thierry Reding <thierry.reding@gmail.com>,
Arjun Sreedharan <arjun024@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-next@vger.kernel.org,
kernel-build-reports@lists.linaro.org
Subject: Re: [PATCH] usb:phy: propagate __of_usb_find_phy()'s error on failure
Date: Mon, 24 Nov 2014 09:37:54 -0600 [thread overview]
Message-ID: <20141124153754.GG20705@saruman> (raw)
In-Reply-To: <20141124153621.GF20705@saruman>
[-- Attachment #1: Type: text/plain, Size: 1905 bytes --]
Hi again,
On Mon, Nov 24, 2014 at 09:36:21AM -0600, Felipe Balbi wrote:
> > > > > When __of_usb_find_phy() fails, it returns -ENODEV - its
> > > > > error code has to be returned by devm_usb_get_phy_by_phandle().
> > > > > Only when the former function succeeds and try_module_get()
> > > > > fails should -EPROBE_DEFER be returned.
> > > > >
> > > > > Signed-off-by: Arjun Sreedharan <arjun024@gmail.com>
> > > > > ---
> > > > > drivers/usb/phy/phy.c | 4 +++-
> > > > > 1 file changed, 3 insertions(+), 1 deletion(-)
> > > >
> > > > This causes a boot regression on at least NVIDIA Dalmore (I boot over
> > > > NFS using a USB network adapter).
> > > >
> > > > The commit message is somewhat insufficient because while it explains
> > > > what the code does and asserts that it is the right thing to do, it
> > > > fails to explain why.
> > >
> > > you also fail to explain it causes a regressions with Dalmore.
> >
> > I thought my explanation below was sufficient, but maybe I should say it
> > in other words: __of_usb_find_phy() returns -ENODEV if no PHY was found
> > to be registered for a given phandle. That causes the driver to abort
> > probing with a -ENODEV error and does not trigger the probe deferral
> > that'd be necessary to get the host controller to find the PHY the next
> > time it was triggered.
>
> right, and before $subject dev_usb_get_phy_by_phandle() was overwriting
> whatever error code passed by __of_usb_find_phy() to -EPROBE_DEFER.
>
> > > This is really the correct patch, we shouldn't be overwritting the
> > > error passed in by upper layers.
> >
> > No, it's very obviously not the correct patch if it causes a regression.
>
> or it exposes a bug elsewhere :-)
still, if you send your patch as a proper patch, I'll queue it as it
definitely makes sense to not return -ENODEV when we have a phandle.
--
balbi
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Felipe Balbi <balbi@ti.com>
To: Felipe Balbi <balbi@ti.com>
Cc: Thierry Reding <thierry.reding@gmail.com>,
Arjun Sreedharan <arjun024@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
<linux-usb@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-next@vger.kernel.org>,
<kernel-build-reports@lists.linaro.org>
Subject: Re: [PATCH] usb:phy: propagate __of_usb_find_phy()'s error on failure
Date: Mon, 24 Nov 2014 09:37:54 -0600 [thread overview]
Message-ID: <20141124153754.GG20705@saruman> (raw)
In-Reply-To: <20141124153621.GF20705@saruman>
[-- Attachment #1: Type: text/plain, Size: 1905 bytes --]
Hi again,
On Mon, Nov 24, 2014 at 09:36:21AM -0600, Felipe Balbi wrote:
> > > > > When __of_usb_find_phy() fails, it returns -ENODEV - its
> > > > > error code has to be returned by devm_usb_get_phy_by_phandle().
> > > > > Only when the former function succeeds and try_module_get()
> > > > > fails should -EPROBE_DEFER be returned.
> > > > >
> > > > > Signed-off-by: Arjun Sreedharan <arjun024@gmail.com>
> > > > > ---
> > > > > drivers/usb/phy/phy.c | 4 +++-
> > > > > 1 file changed, 3 insertions(+), 1 deletion(-)
> > > >
> > > > This causes a boot regression on at least NVIDIA Dalmore (I boot over
> > > > NFS using a USB network adapter).
> > > >
> > > > The commit message is somewhat insufficient because while it explains
> > > > what the code does and asserts that it is the right thing to do, it
> > > > fails to explain why.
> > >
> > > you also fail to explain it causes a regressions with Dalmore.
> >
> > I thought my explanation below was sufficient, but maybe I should say it
> > in other words: __of_usb_find_phy() returns -ENODEV if no PHY was found
> > to be registered for a given phandle. That causes the driver to abort
> > probing with a -ENODEV error and does not trigger the probe deferral
> > that'd be necessary to get the host controller to find the PHY the next
> > time it was triggered.
>
> right, and before $subject dev_usb_get_phy_by_phandle() was overwriting
> whatever error code passed by __of_usb_find_phy() to -EPROBE_DEFER.
>
> > > This is really the correct patch, we shouldn't be overwritting the
> > > error passed in by upper layers.
> >
> > No, it's very obviously not the correct patch if it causes a regression.
>
> or it exposes a bug elsewhere :-)
still, if you send your patch as a proper patch, I'll queue it as it
definitely makes sense to not return -ENODEV when we have a phandle.
--
balbi
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2014-11-24 15:37 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-20 15:53 [PATCH] usb:phy: propagate __of_usb_find_phy()'s error on failure Arjun Sreedharan
2014-11-20 19:39 ` Felipe Balbi
[not found] ` <CAJFMrCGbUQar751mOZOJ5Fy=HEDb+L7XjQypJxzyE72T=qoDmw@mail.gmail.com>
2014-11-21 15:03 ` Felipe Balbi
2014-11-24 13:10 ` Thierry Reding
2014-11-24 14:36 ` Felipe Balbi
2014-11-24 14:36 ` Felipe Balbi
2014-11-24 15:16 ` Thierry Reding
2014-11-24 15:36 ` Felipe Balbi
2014-11-24 15:36 ` Felipe Balbi
2014-11-24 15:37 ` Felipe Balbi [this message]
2014-11-24 15:37 ` Felipe Balbi
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=20141124153754.GG20705@saruman \
--to=balbi@ti.com \
--cc=arjun024@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=kernel-build-reports@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=thierry.reding@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.