ALSARawmidi.StreamPair.open() has open_flag parameter for flags parameter of
open(2) system call, however internally it's not handled correctly.
This commit fixes the bug.
Fixes: 909ff54d5265 ("rawmidi: stream_pair: add APIs to open ALSA Rawmidi character device")
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
ALSARAWMIDI_STREAM_PAIR_INFO_FLAG_INPUT)) == 0);
g_return_if_fail(error == NULL || *error == NULL);
+ open_flag &= ~(O_RDWR | O_WRONLY | O_RDONLY);
if ((access_modes & ALSARAWMIDI_STREAM_PAIR_INFO_FLAG_OUTPUT) &&
(access_modes & ALSARAWMIDI_STREAM_PAIR_INFO_FLAG_INPUT))
- open_flag = O_RDWR;
+ open_flag |= O_RDWR;
else if (access_modes & ALSARAWMIDI_STREAM_PAIR_INFO_FLAG_OUTPUT)
- open_flag = O_WRONLY;
+ open_flag |= O_WRONLY;
else if (access_modes & ALSARAWMIDI_STREAM_PAIR_INFO_FLAG_INPUT)
- open_flag = O_RDONLY;
+ open_flag |= O_RDONLY;
else
g_return_if_reached();