summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorVijayavardhan Vennapusa <vvreddy@codeaurora.org>2016-05-11 13:06:37 +0530
committerChandana Kishori Chiluveru <cchiluve@codeaurora.org>2016-12-12 15:21:33 +0530
commite589cdf9015a48ce9515b0d8bb5d5a6f2413ee8e (patch)
treecff7fc74571f8b40c59fd2e8e1859020c3aaaef1 /include/linux
parentda1cf560c2f723612a5e0eba5d9f524c71076439 (diff)
USB: dwc3-msm: Perform DBM config/unconfig under spinlock protection
There is a possibility of dwc3_msm_ep_queue() and msm_ep_unconfig() racing each other if suspend happens right after configured. This scenario will result in NOC error if start_xfer command gets queued after msm_ep_unconfig(). Hence fix the issue by adding spinlock protection for DBM endpoint configuration and unconfiguration. Change-Id: I3fd007647370250017c97faebffadb35afb7fc4d Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org> Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/usb/msm_hsusb.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/include/linux/usb/msm_hsusb.h b/include/linux/usb/msm_hsusb.h
index 1eb442f8dc6c..21fddf0cbf09 100644
--- a/include/linux/usb/msm_hsusb.h
+++ b/include/linux/usb/msm_hsusb.h
@@ -296,8 +296,7 @@ static inline void msm_usb_irq_disable(bool disable)
#endif
#ifdef CONFIG_USB_DWC3_QCOM
-int msm_ep_config(struct usb_ep *ep, struct usb_request *request,
- gfp_t gfp_flags);
+int msm_ep_config(struct usb_ep *ep, struct usb_request *request);
int msm_ep_unconfig(struct usb_ep *ep);
void dwc3_tx_fifo_resize_request(struct usb_ep *ep, bool qdss_enable);
int msm_data_fifo_config(struct usb_ep *ep, phys_addr_t addr, u32 size,
@@ -312,8 +311,7 @@ static inline int msm_data_fifo_config(struct usb_ep *ep, phys_addr_t addr,
return -ENODEV;
}
-static inline int msm_ep_config(struct usb_ep *ep, struct usb_request *request,
- gfp_t gfp_flags)
+static inline int msm_ep_config(struct usb_ep *ep, struct usb_request *request)
{
return -ENODEV;
}