lkml.org 
[lkml]   [2016]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.16.y-ckt 113/129] phy: twl4030-usb: Relase usb phy on unload
    Date
    3.16.7-ckt25 -stable review patch.  If anyone has any objections, please let me know.

    ---8<------------------------------------------------------------

    From: Tony Lindgren <tony@atomide.com>

    commit b241d31ef2f6a289d33dcaa004714b26e06f476f upstream.

    Otherwise rmmod omap2430; rmmod phy-twl4030-usb; modprobe omap2430
    will try to use a non-existing phy and oops:

    Unable to handle kernel paging request at virtual address b6f7c1f0
    ...
    [<c048a284>] (devm_usb_get_phy_by_node) from [<bf0758ac>]
    (omap2430_musb_init+0x44/0x2b4 [omap2430])
    [<bf0758ac>] (omap2430_musb_init [omap2430]) from [<bf055ec0>]
    (musb_init_controller+0x194/0x878 [musb_hdrc])

    Cc: Bin Liu <b-liu@ti.com>
    Cc: Felipe Balbi <balbi@ti.com>
    Cc: Kishon Vijay Abraham I <kishon@ti.com>
    Cc: NeilBrown <neil@brown.name>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
    Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
    ---
    drivers/phy/phy-twl4030-usb.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/drivers/phy/phy-twl4030-usb.c b/drivers/phy/phy-twl4030-usb.c
    index a2b877911b0f..28c706059ec1 100644
    --- a/drivers/phy/phy-twl4030-usb.c
    +++ b/drivers/phy/phy-twl4030-usb.c
    @@ -776,6 +776,7 @@ static int twl4030_usb_remove(struct platform_device *pdev)
    struct twl4030_usb *twl = platform_get_drvdata(pdev);
    int val;

    + usb_remove_phy(&twl->phy);
    pm_runtime_get_sync(twl->dev);
    cancel_delayed_work(&twl->id_workaround_work);
    device_remove_file(twl->dev, &dev_attr_vbus);
    \
     
     \ /
      Last update: 2016-02-26 12:01    [W:4.270 / U:0.096 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site