summaryrefslogtreecommitdiffstats
path: root/drivers/usb/mtu3/mtu3.h
diff options
context:
space:
mode:
authorChunfeng Yun2017-07-25 10:10:22 +0200
committerGreg Kroah-Hartman2017-07-30 16:25:55 +0200
commitfe7c994a5ed8e3bd50888ef4391da9bb28934bd7 (patch)
tree7272e6a7b0ccbf09dd883eeae7a202e4145ae4e6 /drivers/usb/mtu3/mtu3.h
parentMerge 4.13-rc2 into usb-next (diff)
downloadkernel-qcow2-linux-fe7c994a5ed8e3bd50888ef4391da9bb28934bd7.tar.gz
kernel-qcow2-linux-fe7c994a5ed8e3bd50888ef4391da9bb28934bd7.tar.xz
kernel-qcow2-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.h')
-rw-r--r--drivers/usb/mtu3/mtu3.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/mtu3/mtu3.h b/drivers/usb/mtu3/mtu3.h
index 7b6dc23d77e9..b26fffc58446 100644
--- a/drivers/usb/mtu3/mtu3.h
+++ b/drivers/usb/mtu3/mtu3.h
@@ -288,6 +288,7 @@ static inline struct ssusb_mtk *dev_to_ssusb(struct device *dev)
* MTU3_U3_IP_SLOT_DEFAULT for U3 IP
* @may_wakeup: means device's remote wakeup is enabled
* @is_self_powered: is reported in device status and the config descriptor
+ * @delayed_status: true when function drivers ask for delayed status
* @ep0_req: dummy request used while handling standard USB requests
* for GET_STATUS and SET_SEL
* @setup_buf: ep0 response buffer for GET_STATUS and SET_SEL requests
@@ -327,6 +328,7 @@ struct mtu3 {
unsigned u1_enable:1;
unsigned u2_enable:1;
unsigned is_u3_ip:1;
+ unsigned delayed_status:1;
u8 address;
u8 test_mode_nr;