diff options
author | Grazvydas Ignotas <notasas@gmail.com> | 2012-03-21 16:35:52 +0200 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2012-04-10 19:11:48 +0300 |
commit | bf070bc14178f1458e7eccd76316ac24f76f1890 (patch) | |
tree | 7d4569f916eb4718476c788aae853edde40c79cf /include/linux/usb | |
parent | 692933b2ccfce02400dc8360a97acde2846e8541 (diff) | |
download | kernel-common-bf070bc14178f1458e7eccd76316ac24f76f1890.tar.gz kernel-common-bf070bc14178f1458e7eccd76316ac24f76f1890.tar.bz2 kernel-common-bf070bc14178f1458e7eccd76316ac24f76f1890.zip |
usb: musb: wake the device before ulpi transfers
musb can be suspended at the time some other driver wants to do ulpi
transfers using usb_phy_io_* functions, and that can cause data abort,
as it happened with isp1704_charger:
http://article.gmane.org/gmane.linux.kernel/1226122
Add pm_runtime to ulpi functions to rectify this. This also adds io_dev
to usb_phy so that pm_runtime_* functions can be used.
Cc: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'include/linux/usb')
-rw-r--r-- | include/linux/usb/otg.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/usb/otg.h b/include/linux/usb/otg.h index f67810f8f21b..38ab3f46346f 100644 --- a/include/linux/usb/otg.h +++ b/include/linux/usb/otg.h @@ -94,6 +94,7 @@ struct usb_phy { struct usb_otg *otg; + struct device *io_dev; struct usb_phy_io_ops *io_ops; void __iomem *io_priv; |