diff options
| author | Vijayavardhan Vennapusa <vvreddy@codeaurora.org> | 2016-05-11 13:06:37 +0530 |
|---|---|---|
| committer | Chandana Kishori Chiluveru <cchiluve@codeaurora.org> | 2016-12-12 15:21:33 +0530 |
| commit | e589cdf9015a48ce9515b0d8bb5d5a6f2413ee8e (patch) | |
| tree | cff7fc74571f8b40c59fd2e8e1859020c3aaaef1 /include/linux | |
| parent | da1cf560c2f723612a5e0eba5d9f524c71076439 (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.h | 6 |
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; } |
