phy: twl4030-usb: Relase usb phy on unload
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: stable@vger.kernel.org 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>
This commit is contained in:
parent
b82fcabe21
commit
b241d31ef2
|
@ -750,6 +750,7 @@ static int twl4030_usb_remove(struct platform_device *pdev)
|
||||||
struct twl4030_usb *twl = platform_get_drvdata(pdev);
|
struct twl4030_usb *twl = platform_get_drvdata(pdev);
|
||||||
int val;
|
int val;
|
||||||
|
|
||||||
|
usb_remove_phy(&twl->phy);
|
||||||
pm_runtime_get_sync(twl->dev);
|
pm_runtime_get_sync(twl->dev);
|
||||||
cancel_delayed_work(&twl->id_workaround_work);
|
cancel_delayed_work(&twl->id_workaround_work);
|
||||||
device_remove_file(twl->dev, &dev_attr_vbus);
|
device_remove_file(twl->dev, &dev_attr_vbus);
|
||||||
|
|
Loading…
Reference in New Issue