diff options
| author | Linus Torvalds <torvalds@woody.osdl.org> | 2007-01-09 12:40:34 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.osdl.org> | 2007-01-09 12:40:34 -0500 |
| commit | 656829e2d052b1da4a72aa2ac39ad733a78530ce (patch) | |
| tree | dd94ceb1177bc56302dbf21b94def49a92b26c20 /sound/pci/echoaudio/midi.c | |
| parent | 76a2f047880c2c7779f8950c50ee8f3855a5e6df (diff) | |
| parent | a037b0a43f6abafc4f725f7c7f46d577d1c44c96 (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.c | 6 |
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); |
