diff options
author | Chunfeng Yun <chunfeng.yun@mediatek.com> | 2017-07-25 10:10:22 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-07-30 16:25:55 +0200 |
commit | fe7c994a5ed8e3bd50888ef4391da9bb28934bd7 (patch) | |
tree | 7272e6a7b0ccbf09dd883eeae7a202e4145ae4e6 /drivers/usb/mtu3/mtu3_gadget.c | |
parent | Merge 4.13-rc2 into usb-next (diff) | |
download | linux-fe7c994a5ed8e3bd50888ef4391da9bb28934bd7.tar.xz linux-fe7c994a5ed8e3bd50888ef4391da9bb28934bd7.zip |
usb: mtu3: handle delayed status of the control transfer
Add the delayed status handling. This is used by mass storage etc to
gain some extra time to setup its internal status before it can proceed
further requests, and once the gadget is ready, it will enqueue an
empty packet which is used for synchronization.
The issue may happen on some FGPA platform with very low cpu frequency.
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/mtu3/mtu3_gadget.c')
-rw-r--r-- | drivers/usb/mtu3/mtu3_gadget.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/mtu3/mtu3_gadget.c b/drivers/usb/mtu3/mtu3_gadget.c index 9dd2441b4fa1..a4ad67cf0c52 100644 --- a/drivers/usb/mtu3/mtu3_gadget.c +++ b/drivers/usb/mtu3/mtu3_gadget.c @@ -663,6 +663,7 @@ int mtu3_gadget_setup(struct mtu3 *mtu) mtu->g.sg_supported = 0; mtu->g.name = MTU3_DRIVER_NAME; mtu->is_active = 0; + mtu->delayed_status = false; mtu3_gadget_init_eps(mtu); @@ -727,4 +728,5 @@ void mtu3_gadget_reset(struct mtu3 *mtu) mtu->address = 0; mtu->ep0_state = MU3D_EP0_STATE_SETUP; mtu->may_wakeup = 0; + mtu->delayed_status = false; } |