Hi, Fabio Estevam <[email protected]> writes: > On Fri, Feb 19, 2016 at 11:33 AM, Felipe Balbi <[email protected]> wrote: > >> alright, in which sense doesn't it help ? Which platform did you use ? > > USB devices are not recognized with your patch applied on a mx28 board > with an on-board USB hub and if I remove 'usbcore.autosuspend=-1' from > the kernel command line. > >> mx23 or mx28 ? Did you check that mxs_phy_runtime_idle() got called ? > > mxs_phy_runtime_idle() is not being called on my mx28 board.
ooooh, okay. So you have another problem, actually. Seems like ci_hdrc
just shouldn't call your phy->suspend(), or your phy->suspend()
shouldn't do anything. How about below?
@@ -370,6 +370,9 @@ static int mxs_phy_suspend(struct usb_phy *x, int suspend)
struct mxs_phy *mxs_phy = to_mxs_phy(x);
bool low_speed_connection, vbus_is_on;
+ if (mxs_phy->data->flags & MXS_PHY_ABNORMAL_IN_SUSPEND)
+ return 0; /* or should we return -EBUSY ? */
+
low_speed_connection = mxs_phy_is_low_speed_connection(mxs_phy);
vbus_is_on = mxs_phy_get_vbus_status(mxs_phy);
--
balbi
signature.asc
Description: PGP signature
