* [PATCH v2] usb: musb: sunxi: Explicitly release USB PHY on exit
@ 2017-10-10 2:45 Jonathan Liu
2017-10-10 3:22 ` Bin Liu
0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Liu @ 2017-10-10 2:45 UTC (permalink / raw)
To: Bin Liu, Greg Kroah-Hartman, Maxime Ripard, Chen-Yu Tsai
Cc: linux-usb, linux-arm-kernel, linux-kernel, linux-sunxi, Jonathan Liu
This fixes a kernel oops when unloading the driver due to usb_put_phy
being called after usb_phy_generic_unregister when the device is
detached. Calling usb_phy_generic_unregister causes x->dev->driver to
be NULL in usb_put_phy and results in a NULL pointer dereference.
Cc: stable@vger.kernel.org # v4.3+
Signed-off-by: Jonathan Liu <net147@gmail.com>
---
Changes for v2:
- Use devm_usb_put_phy instead of usb_put_phy
drivers/usb/musb/sunxi.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/usb/musb/sunxi.c b/drivers/usb/musb/sunxi.c
index c9a09b5bb6e5..dc353e24d53c 100644
--- a/drivers/usb/musb/sunxi.c
+++ b/drivers/usb/musb/sunxi.c
@@ -297,6 +297,8 @@ static int sunxi_musb_exit(struct musb *musb)
if (test_bit(SUNXI_MUSB_FL_HAS_SRAM, &glue->flags))
sunxi_sram_release(musb->controller->parent);
+ devm_usb_put_phy(glue->dev, glue->xceiv);
+
return 0;
}
--
2.14.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2] usb: musb: sunxi: Explicitly release USB PHY on exit
2017-10-10 2:45 [PATCH v2] usb: musb: sunxi: Explicitly release USB PHY on exit Jonathan Liu
@ 2017-10-10 3:22 ` Bin Liu
2017-10-16 5:13 ` Jonathan Liu
0 siblings, 1 reply; 6+ messages in thread
From: Bin Liu @ 2017-10-10 3:22 UTC (permalink / raw)
To: Jonathan Liu
Cc: Greg Kroah-Hartman, Maxime Ripard, Chen-Yu Tsai, linux-usb,
linux-arm-kernel, linux-kernel, linux-sunxi
On Tue, Oct 10, 2017 at 01:45:25PM +1100, Jonathan Liu wrote:
> This fixes a kernel oops when unloading the driver due to usb_put_phy
> being called after usb_phy_generic_unregister when the device is
> detached. Calling usb_phy_generic_unregister causes x->dev->driver to
> be NULL in usb_put_phy and results in a NULL pointer dereference.
>
> Cc: stable@vger.kernel.org # v4.3+
> Signed-off-by: Jonathan Liu <net147@gmail.com>
> ---
> Changes for v2:
> - Use devm_usb_put_phy instead of usb_put_phy
>
> drivers/usb/musb/sunxi.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/usb/musb/sunxi.c b/drivers/usb/musb/sunxi.c
> index c9a09b5bb6e5..dc353e24d53c 100644
> --- a/drivers/usb/musb/sunxi.c
> +++ b/drivers/usb/musb/sunxi.c
> @@ -297,6 +297,8 @@ static int sunxi_musb_exit(struct musb *musb)
> if (test_bit(SUNXI_MUSB_FL_HAS_SRAM, &glue->flags))
> sunxi_sram_release(musb->controller->parent);
>
> + devm_usb_put_phy(glue->dev, glue->xceiv);
> +
> return 0;
> }
Applied. Thanks.
-Bin.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] usb: musb: sunxi: Explicitly release USB PHY on exit
2017-10-10 3:22 ` Bin Liu
@ 2017-10-16 5:13 ` Jonathan Liu
2017-10-16 12:49 ` Bin Liu
0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Liu @ 2017-10-16 5:13 UTC (permalink / raw)
To: Bin Liu, Jonathan Liu, Greg Kroah-Hartman, Maxime Ripard,
Chen-Yu Tsai, linux-usb, linux-arm-kernel, linux-kernel,
linux-sunxi
On 10 October 2017 at 14:22, Bin Liu <b-liu@ti.com> wrote:
> On Tue, Oct 10, 2017 at 01:45:25PM +1100, Jonathan Liu wrote:
>> This fixes a kernel oops when unloading the driver due to usb_put_phy
>> being called after usb_phy_generic_unregister when the device is
>> detached. Calling usb_phy_generic_unregister causes x->dev->driver to
>> be NULL in usb_put_phy and results in a NULL pointer dereference.
>>
>> Cc: stable@vger.kernel.org # v4.3+
>> Signed-off-by: Jonathan Liu <net147@gmail.com>
>> ---
>> Changes for v2:
>> - Use devm_usb_put_phy instead of usb_put_phy
>>
>> drivers/usb/musb/sunxi.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/usb/musb/sunxi.c b/drivers/usb/musb/sunxi.c
>> index c9a09b5bb6e5..dc353e24d53c 100644
>> --- a/drivers/usb/musb/sunxi.c
>> +++ b/drivers/usb/musb/sunxi.c
>> @@ -297,6 +297,8 @@ static int sunxi_musb_exit(struct musb *musb)
>> if (test_bit(SUNXI_MUSB_FL_HAS_SRAM, &glue->flags))
>> sunxi_sram_release(musb->controller->parent);
>>
>> + devm_usb_put_phy(glue->dev, glue->xceiv);
>> +
>> return 0;
>> }
>
>
> Applied. Thanks.
> -Bin.
Which repository was it applied to?
Regards,
Jonathan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] usb: musb: sunxi: Explicitly release USB PHY on exit
2017-10-16 5:13 ` Jonathan Liu
@ 2017-10-16 12:49 ` Bin Liu
2017-10-16 12:54 ` Jonathan Liu
0 siblings, 1 reply; 6+ messages in thread
From: Bin Liu @ 2017-10-16 12:49 UTC (permalink / raw)
To: Jonathan Liu
Cc: Greg Kroah-Hartman, Maxime Ripard, Chen-Yu Tsai, linux-usb,
linux-arm-kernel, linux-kernel, linux-sunxi
On Mon, Oct 16, 2017 at 04:13:51PM +1100, Jonathan Liu wrote:
> On 10 October 2017 at 14:22, Bin Liu <b-liu@ti.com> wrote:
> > On Tue, Oct 10, 2017 at 01:45:25PM +1100, Jonathan Liu wrote:
> >> This fixes a kernel oops when unloading the driver due to usb_put_phy
> >> being called after usb_phy_generic_unregister when the device is
> >> detached. Calling usb_phy_generic_unregister causes x->dev->driver to
> >> be NULL in usb_put_phy and results in a NULL pointer dereference.
> >>
> >> Cc: stable@vger.kernel.org # v4.3+
> >> Signed-off-by: Jonathan Liu <net147@gmail.com>
> >> ---
> >> Changes for v2:
> >> - Use devm_usb_put_phy instead of usb_put_phy
> >>
> >> drivers/usb/musb/sunxi.c | 2 ++
> >> 1 file changed, 2 insertions(+)
> >>
> >> diff --git a/drivers/usb/musb/sunxi.c b/drivers/usb/musb/sunxi.c
> >> index c9a09b5bb6e5..dc353e24d53c 100644
> >> --- a/drivers/usb/musb/sunxi.c
> >> +++ b/drivers/usb/musb/sunxi.c
> >> @@ -297,6 +297,8 @@ static int sunxi_musb_exit(struct musb *musb)
> >> if (test_bit(SUNXI_MUSB_FL_HAS_SRAM, &glue->flags))
> >> sunxi_sram_release(musb->controller->parent);
> >>
> >> + devm_usb_put_phy(glue->dev, glue->xceiv);
> >> +
> >> return 0;
> >> }
> >
> >
>
> > Applied. Thanks.
> > -Bin.
>
> Which repository was it applied to?
I don't have a public repo (yet), but the patch has been sent to Greg,
so it should be merged into the next -rc.
Regards,
-Bin.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] usb: musb: sunxi: Explicitly release USB PHY on exit
2017-10-16 12:49 ` Bin Liu
@ 2017-10-16 12:54 ` Jonathan Liu
2017-10-17 4:20 ` Bin Liu
0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Liu @ 2017-10-16 12:54 UTC (permalink / raw)
To: Bin Liu, Jonathan Liu, Greg Kroah-Hartman, Maxime Ripard,
Chen-Yu Tsai, linux-usb, linux-arm-kernel, linux-kernel,
linux-sunxi
On 16 October 2017 at 23:49, Bin Liu <b-liu@ti.com> wrote:
> On Mon, Oct 16, 2017 at 04:13:51PM +1100, Jonathan Liu wrote:
>> On 10 October 2017 at 14:22, Bin Liu <b-liu@ti.com> wrote:
>> > On Tue, Oct 10, 2017 at 01:45:25PM +1100, Jonathan Liu wrote:
>> >> This fixes a kernel oops when unloading the driver due to usb_put_phy
>> >> being called after usb_phy_generic_unregister when the device is
>> >> detached. Calling usb_phy_generic_unregister causes x->dev->driver to
>> >> be NULL in usb_put_phy and results in a NULL pointer dereference.
>> >>
>> >> Cc: stable@vger.kernel.org # v4.3+
>> >> Signed-off-by: Jonathan Liu <net147@gmail.com>
>> >> ---
>> >> Changes for v2:
>> >> - Use devm_usb_put_phy instead of usb_put_phy
>> >>
>> >> drivers/usb/musb/sunxi.c | 2 ++
>> >> 1 file changed, 2 insertions(+)
>> >>
>> >> diff --git a/drivers/usb/musb/sunxi.c b/drivers/usb/musb/sunxi.c
>> >> index c9a09b5bb6e5..dc353e24d53c 100644
>> >> --- a/drivers/usb/musb/sunxi.c
>> >> +++ b/drivers/usb/musb/sunxi.c
>> >> @@ -297,6 +297,8 @@ static int sunxi_musb_exit(struct musb *musb)
>> >> if (test_bit(SUNXI_MUSB_FL_HAS_SRAM, &glue->flags))
>> >> sunxi_sram_release(musb->controller->parent);
>> >>
>> >> + devm_usb_put_phy(glue->dev, glue->xceiv);
>> >> +
>> >> return 0;
>> >> }
>> >
>> >
>>
>> > Applied. Thanks.
>> > -Bin.
>>
>> Which repository was it applied to?
>
> I don't have a public repo (yet), but the patch has been sent to Greg,
> so it should be merged into the next -rc.
>
> Regards,
> -Bin.
The MAINTAINERS file has
git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git listed as
the tree for drivers/usb/musb/. I guess that should be updated.
Regards,
Jonathan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] usb: musb: sunxi: Explicitly release USB PHY on exit
2017-10-16 12:54 ` Jonathan Liu
@ 2017-10-17 4:20 ` Bin Liu
0 siblings, 0 replies; 6+ messages in thread
From: Bin Liu @ 2017-10-17 4:20 UTC (permalink / raw)
To: Jonathan Liu
Cc: Greg Kroah-Hartman, Maxime Ripard, Chen-Yu Tsai, linux-usb,
linux-arm-kernel, linux-kernel, linux-sunxi
On Mon, Oct 16, 2017 at 11:54:27PM +1100, Jonathan Liu wrote:
> On 16 October 2017 at 23:49, Bin Liu <b-liu@ti.com> wrote:
> > On Mon, Oct 16, 2017 at 04:13:51PM +1100, Jonathan Liu wrote:
> >> On 10 October 2017 at 14:22, Bin Liu <b-liu@ti.com> wrote:
> >> > On Tue, Oct 10, 2017 at 01:45:25PM +1100, Jonathan Liu wrote:
> >> >> This fixes a kernel oops when unloading the driver due to usb_put_phy
> >> >> being called after usb_phy_generic_unregister when the device is
> >> >> detached. Calling usb_phy_generic_unregister causes x->dev->driver to
> >> >> be NULL in usb_put_phy and results in a NULL pointer dereference.
> >> >>
> >> >> Cc: stable@vger.kernel.org # v4.3+
> >> >> Signed-off-by: Jonathan Liu <net147@gmail.com>
> >> >> ---
> >> >> Changes for v2:
> >> >> - Use devm_usb_put_phy instead of usb_put_phy
> >> >>
> >> >> drivers/usb/musb/sunxi.c | 2 ++
> >> >> 1 file changed, 2 insertions(+)
> >> >>
> >> >> diff --git a/drivers/usb/musb/sunxi.c b/drivers/usb/musb/sunxi.c
> >> >> index c9a09b5bb6e5..dc353e24d53c 100644
> >> >> --- a/drivers/usb/musb/sunxi.c
> >> >> +++ b/drivers/usb/musb/sunxi.c
> >> >> @@ -297,6 +297,8 @@ static int sunxi_musb_exit(struct musb *musb)
> >> >> if (test_bit(SUNXI_MUSB_FL_HAS_SRAM, &glue->flags))
> >> >> sunxi_sram_release(musb->controller->parent);
> >> >>
> >> >> + devm_usb_put_phy(glue->dev, glue->xceiv);
> >> >> +
> >> >> return 0;
> >> >> }
> >> >
> >> >
> >>
> >> > Applied. Thanks.
> >> > -Bin.
> >>
> >> Which repository was it applied to?
> >
> > I don't have a public repo (yet), but the patch has been sent to Greg,
> > so it should be merged into the next -rc.
> >
> > Regards,
> > -Bin.
>
> The MAINTAINERS file has
> git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git listed as
> the tree for drivers/usb/musb/. I guess that should be updated.
I will create a patch for it. Thanks for reporting this.
Regards,
-Bin.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-10-17 4:22 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-10 2:45 [PATCH v2] usb: musb: sunxi: Explicitly release USB PHY on exit Jonathan Liu
2017-10-10 3:22 ` Bin Liu
2017-10-16 5:13 ` Jonathan Liu
2017-10-16 12:49 ` Bin Liu
2017-10-16 12:54 ` Jonathan Liu
2017-10-17 4:20 ` Bin Liu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).