diff options
| author | Vijayavardhan Vennapusa <vvreddy@codeaurora.org> | 2017-06-23 14:45:49 +0530 |
|---|---|---|
| committer | Vijayavardhan Vennapusa <vvreddy@codeaurora.org> | 2017-06-23 14:45:49 +0530 |
| commit | b12f86c5b2b0dcf7146df895ef84cbd2180d3782 (patch) | |
| tree | d2ade70783d97c267296e430edafc0b82c27170d /drivers/usb/gadget/function | |
| parent | 85baaeb2e2d0e7c67bf4e5cc22d15e173d01b209 (diff) | |
USB: f_audio_source: Remove pm_qos request under non atomic context
Currently driver is removing pm_qos request after acquiring spinlock in
pcm_close() callback. This could cause warning as pm_qos_remove_request()
can sleep. Hence move removing pm_qos request before acquiring spin lock.
Change-Id: I8e898934c4e83b80c994b2a293abbd920589ac62
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Diffstat (limited to 'drivers/usb/gadget/function')
| -rw-r--r-- | drivers/usb/gadget/function/f_audio_source.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/gadget/function/f_audio_source.c b/drivers/usb/gadget/function/f_audio_source.c index 46be62b737f1..ec73b67096c5 100644 --- a/drivers/usb/gadget/function/f_audio_source.c +++ b/drivers/usb/gadget/function/f_audio_source.c @@ -776,11 +776,11 @@ static int audio_pcm_close(struct snd_pcm_substream *substream) struct audio_dev *audio = substream->private_data; unsigned long flags; - spin_lock_irqsave(&audio->lock, flags); - /* Remove the QoS request */ pm_qos_remove_request(&audio->pm_qos); + spin_lock_irqsave(&audio->lock, flags); + audio->substream = NULL; spin_unlock_irqrestore(&audio->lock, flags); |
