mirror of
https://github.com/torvalds/linux.git
synced 2024-12-02 00:51:44 +00:00
ALSA: hdspm - Fix locking in snd_hdspm_midi_input_read
For the MIDI part, we need to acquire (and release) the hmidi->lock, access to the global hdspm structure is serialized through hmidi->hdspm->lock instead. Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
05e205429d
commit
c0da00145f
@ -1639,12 +1639,14 @@ static int snd_hdspm_midi_input_read (struct hdspm_midi *hmidi)
|
||||
}
|
||||
}
|
||||
hmidi->pending = 0;
|
||||
spin_unlock_irqrestore(&hmidi->lock, flags);
|
||||
|
||||
spin_lock_irqsave(&hmidi->hdspm->lock, flags);
|
||||
hmidi->hdspm->control_register |= hmidi->ie;
|
||||
hdspm_write(hmidi->hdspm, HDSPM_controlRegister,
|
||||
hmidi->hdspm->control_register);
|
||||
spin_unlock_irqrestore(&hmidi->hdspm->lock, flags);
|
||||
|
||||
spin_unlock_irqrestore (&hmidi->lock, flags);
|
||||
return snd_hdspm_midi_output_write (hmidi);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user