Fix resmgr support

Call normal open() before trying with res_open_device().
snd_open_device() is defined to do this procedure.
This commit is contained in:
Takashi Iwai 2005-02-11 16:35:24 +00:00
parent 237d46cfb6
commit f9b9015245
9 changed files with 30 additions and 94 deletions

View file

@ -23,9 +23,6 @@
#include <fcntl.h>
#include <sys/ioctl.h>
#include "seq_local.h"
#ifdef SUPPORT_RESMGR
#include <resmgr.h>
#endif
#ifndef PIC
/* entry for static linking */
@ -443,24 +440,12 @@ int snd_seq_hw_open(snd_seq_t **handle, const char *name, int streams, int mode)
fmode |= O_NONBLOCK;
filename = SNDRV_FILE_SEQ;
#ifdef SUPPORT_RESMGR
fd = rsm_open_device(filename, fmode);
#else
fd = open(filename, fmode);
#endif
fd = snd_open_device(filename, fmode);
if (fd < 0) {
#ifdef SUPPORT_RESMGR
fd = open(SNDRV_FILE_ALOADSEQ, O_RDWR);
#else
fd = open(SNDRV_FILE_ALOADSEQ, fmode);
#endif
fd = snd_open_device(SNDRV_FILE_ALOADSEQ, fmode);
if (fd >= 0)
close(fd);
#ifdef SUPPORT_RESMGR
fd = rsm_open_device(filename, fmode);
#else
fd = open(filename, fmode);
#endif
fd = snd_open_device(filename, fmode);
if (fd < 0) {
SYSERR("open %s failed", filename);
return -errno;