aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb
diff options
context:
space:
mode:
Diffstat (limited to 'sound/usb')
-rw-r--r--sound/usb/line6/pcm.c3
-rw-r--r--sound/usb/line6/pod.c12
-rw-r--r--sound/usb/quirks.c2
3 files changed, 10 insertions, 7 deletions
diff --git a/sound/usb/line6/pcm.c b/sound/usb/line6/pcm.c
index 204cc074adb9..41aa3355e920 100644
--- a/sound/usb/line6/pcm.c
+++ b/sound/usb/line6/pcm.c
@@ -55,7 +55,6 @@ static int snd_line6_impulse_volume_put(struct snd_kcontrol *kcontrol,
55 err = line6_pcm_acquire(line6pcm, LINE6_STREAM_IMPULSE); 55 err = line6_pcm_acquire(line6pcm, LINE6_STREAM_IMPULSE);
56 if (err < 0) { 56 if (err < 0) {
57 line6pcm->impulse_volume = 0; 57 line6pcm->impulse_volume = 0;
58 line6_pcm_release(line6pcm, LINE6_STREAM_IMPULSE);
59 return err; 58 return err;
60 } 59 }
61 } else { 60 } else {
@@ -211,7 +210,9 @@ static void line6_stream_stop(struct snd_line6_pcm *line6pcm, int direction,
211 spin_lock_irqsave(&pstr->lock, flags); 210 spin_lock_irqsave(&pstr->lock, flags);
212 clear_bit(type, &pstr->running); 211 clear_bit(type, &pstr->running);
213 if (!pstr->running) { 212 if (!pstr->running) {
213 spin_unlock_irqrestore(&pstr->lock, flags);
214 line6_unlink_audio_urbs(line6pcm, pstr); 214 line6_unlink_audio_urbs(line6pcm, pstr);
215 spin_lock_irqsave(&pstr->lock, flags);
215 if (direction == SNDRV_PCM_STREAM_CAPTURE) { 216 if (direction == SNDRV_PCM_STREAM_CAPTURE) {
216 line6pcm->prev_fbuf = NULL; 217 line6pcm->prev_fbuf = NULL;
217 line6pcm->prev_fsize = 0; 218 line6pcm->prev_fsize = 0;
diff --git a/sound/usb/line6/pod.c b/sound/usb/line6/pod.c
index daf81d169a42..45dd34874f43 100644
--- a/sound/usb/line6/pod.c
+++ b/sound/usb/line6/pod.c
@@ -244,8 +244,8 @@ static int pod_set_system_param_int(struct usb_line6_pod *pod, int value,
244static ssize_t serial_number_show(struct device *dev, 244static ssize_t serial_number_show(struct device *dev,
245 struct device_attribute *attr, char *buf) 245 struct device_attribute *attr, char *buf)
246{ 246{
247 struct usb_interface *interface = to_usb_interface(dev); 247 struct snd_card *card = dev_to_snd_card(dev);
248 struct usb_line6_pod *pod = usb_get_intfdata(interface); 248 struct usb_line6_pod *pod = card->private_data;
249 249
250 return sprintf(buf, "%u\n", pod->serial_number); 250 return sprintf(buf, "%u\n", pod->serial_number);
251} 251}
@@ -256,8 +256,8 @@ static ssize_t serial_number_show(struct device *dev,
256static ssize_t firmware_version_show(struct device *dev, 256static ssize_t firmware_version_show(struct device *dev,
257 struct device_attribute *attr, char *buf) 257 struct device_attribute *attr, char *buf)
258{ 258{
259 struct usb_interface *interface = to_usb_interface(dev); 259 struct snd_card *card = dev_to_snd_card(dev);
260 struct usb_line6_pod *pod = usb_get_intfdata(interface); 260 struct usb_line6_pod *pod = card->private_data;
261 261
262 return sprintf(buf, "%d.%02d\n", pod->firmware_version / 100, 262 return sprintf(buf, "%d.%02d\n", pod->firmware_version / 100,
263 pod->firmware_version % 100); 263 pod->firmware_version % 100);
@@ -269,8 +269,8 @@ static ssize_t firmware_version_show(struct device *dev,
269static ssize_t device_id_show(struct device *dev, 269static ssize_t device_id_show(struct device *dev,
270 struct device_attribute *attr, char *buf) 270 struct device_attribute *attr, char *buf)
271{ 271{
272 struct usb_interface *interface = to_usb_interface(dev); 272 struct snd_card *card = dev_to_snd_card(dev);
273 struct usb_line6_pod *pod = usb_get_intfdata(interface); 273 struct usb_line6_pod *pod = card->private_data;
274 274
275 return sprintf(buf, "%d\n", pod->device_id); 275 return sprintf(buf, "%d\n", pod->device_id);
276} 276}
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 6adde457b602..6cf1f3597455 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1128,6 +1128,7 @@ bool snd_usb_get_sample_rate_quirk(struct snd_usb_audio *chip)
1128{ 1128{
1129 /* devices which do not support reading the sample rate. */ 1129 /* devices which do not support reading the sample rate. */
1130 switch (chip->usb_id) { 1130 switch (chip->usb_id) {
1131 case USB_ID(0x041E, 0x4080): /* Creative Live Cam VF0610 */
1131 case USB_ID(0x045E, 0x075D): /* MS Lifecam Cinema */ 1132 case USB_ID(0x045E, 0x075D): /* MS Lifecam Cinema */
1132 case USB_ID(0x045E, 0x076D): /* MS Lifecam HD-5000 */ 1133 case USB_ID(0x045E, 0x076D): /* MS Lifecam HD-5000 */
1133 case USB_ID(0x045E, 0x076E): /* MS Lifecam HD-5001 */ 1134 case USB_ID(0x045E, 0x076E): /* MS Lifecam HD-5001 */
@@ -1138,6 +1139,7 @@ bool snd_usb_get_sample_rate_quirk(struct snd_usb_audio *chip)
1138 case USB_ID(0x047F, 0xAA05): /* Plantronics DA45 */ 1139 case USB_ID(0x047F, 0xAA05): /* Plantronics DA45 */
1139 case USB_ID(0x04D8, 0xFEEA): /* Benchmark DAC1 Pre */ 1140 case USB_ID(0x04D8, 0xFEEA): /* Benchmark DAC1 Pre */
1140 case USB_ID(0x0556, 0x0014): /* Phoenix Audio TMX320VC */ 1141 case USB_ID(0x0556, 0x0014): /* Phoenix Audio TMX320VC */
1142 case USB_ID(0x05A3, 0x9420): /* ELP HD USB Camera */
1141 case USB_ID(0x074D, 0x3553): /* Outlaw RR2150 (Micronas UAC3553B) */ 1143 case USB_ID(0x074D, 0x3553): /* Outlaw RR2150 (Micronas UAC3553B) */
1142 case USB_ID(0x1de7, 0x0013): /* Phoenix Audio MT202exe */ 1144 case USB_ID(0x1de7, 0x0013): /* Phoenix Audio MT202exe */
1143 case USB_ID(0x1de7, 0x0014): /* Phoenix Audio TMX320 */ 1145 case USB_ID(0x1de7, 0x0014): /* Phoenix Audio TMX320 */