aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/echoaudio/midi.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.osdl.org>2007-01-09 12:40:34 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2007-01-09 12:40:34 -0500
commit656829e2d052b1da4a72aa2ac39ad733a78530ce (patch)
treedd94ceb1177bc56302dbf21b94def49a92b26c20 /sound/pci/echoaudio/midi.c
parent76a2f047880c2c7779f8950c50ee8f3855a5e6df (diff)
parenta037b0a43f6abafc4f725f7c7f46d577d1c44c96 (diff)
Merge branch 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa
* 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa: [ALSA] version 1.0.14rc1 [ALSA] usbaudio - Fix kobject_add() error at reconnection [ALSA] usb: usbmixer error path fix [ALSA] _snd_cmipci_uswitch_put doesn't set zero flags [ALSA] hda-codec - Fix NULL dereference in generic hda code [ALSA] hda_intel: ALSA HD Audio patch for Intel ICH9 [ALSA] usb-audio: work around wrong frequency in CM6501 descriptors [ALSA] Fix potential NULL pointer dereference in echoaudio midi [ALSA] Audio: Add nvidia HD Audio controllers of MCP67 support to hda_intel.c
Diffstat (limited to 'sound/pci/echoaudio/midi.c')
-rw-r--r--sound/pci/echoaudio/midi.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/pci/echoaudio/midi.c b/sound/pci/echoaudio/midi.c
index e31f0f11e3a8..91f5bff66d3f 100644
--- a/sound/pci/echoaudio/midi.c
+++ b/sound/pci/echoaudio/midi.c
@@ -213,7 +213,7 @@ static void snd_echo_midi_output_write(unsigned long data)
213 sent = bytes = 0; 213 sent = bytes = 0;
214 spin_lock_irqsave(&chip->lock, flags); 214 spin_lock_irqsave(&chip->lock, flags);
215 chip->midi_full = 0; 215 chip->midi_full = 0;
216 if (chip->midi_out && !snd_rawmidi_transmit_empty(chip->midi_out)) { 216 if (!snd_rawmidi_transmit_empty(chip->midi_out)) {
217 bytes = snd_rawmidi_transmit_peek(chip->midi_out, buf, 217 bytes = snd_rawmidi_transmit_peek(chip->midi_out, buf,
218 MIDI_OUT_BUFFER_SIZE - 1); 218 MIDI_OUT_BUFFER_SIZE - 1);
219 DE_MID(("Try to send %d bytes...\n", bytes)); 219 DE_MID(("Try to send %d bytes...\n", bytes));
@@ -264,9 +264,11 @@ static void snd_echo_midi_output_trigger(struct snd_rawmidi_substream *substream
264 } 264 }
265 } else { 265 } else {
266 if (chip->tinuse) { 266 if (chip->tinuse) {
267 del_timer(&chip->timer);
268 chip->tinuse = 0; 267 chip->tinuse = 0;
268 spin_unlock_irq(&chip->lock);
269 del_timer_sync(&chip->timer);
269 DE_MID(("Timer removed\n")); 270 DE_MID(("Timer removed\n"));
271 return;
270 } 272 }
271 } 273 }
272 spin_unlock_irq(&chip->lock); 274 spin_unlock_irq(&chip->lock);