int fd;
unsigned int flags;
char error[COMPR_ERR_MAX];
+ int ioctl_version;
struct compr_config *config;
int running;
int max_poll_wait_ms;
static int get_compress_hw_version(struct compress_hw_data *compress)
{
- int version = 0;
-
- if (ioctl(compress->fd, SNDRV_COMPRESS_IOCTL_VERSION, &version)) {
- oops(compress, errno, "cant read version");
- return -1;
- }
- return version;
+ return compress->ioctl_version;
}
static bool _is_codec_type_supported(int fd, struct snd_codec *codec)
goto config_fail;
}
+ if (ioctl(compress->fd, SNDRV_COMPRESS_IOCTL_VERSION, &compress->ioctl_version)) {
+ oops(&bad_compress, errno, "cannot read version");
+ goto codec_fail;
+ }
+
if (ioctl(compress->fd, SNDRV_COMPRESS_GET_CAPS, &caps)) {
oops(compress, errno, "cannot get device caps");
goto codec_fail;