diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-07-02 01:08:19 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-07-02 01:08:19 +0000 |
commit | 49d49881b448688277a24936914e12c46cdb2058 (patch) | |
tree | c1fdd4e6db06429e7a726e1453292e3179f810ef | |
parent | bd2af2b29d61a0231e513aaa4055edcd6ced2288 (diff) | |
parent | 70f656f3afe4ae828fc024ca309ab2939ebd5efa (diff) | |
download | tinyalsa-android12-d1-s6-release.tar.gz |
Snap for 7514518 from 70f656f3afe4ae828fc024ca309ab2939ebd5efa to sc-d1-releaseandroid-12.0.0_r7android-12.0.0_r6android-12.0.0_r5android-12.0.0_r4android-12.0.0_r15android-12.0.0_r14android-12.0.0_r13android-12.0.0_r12android12-d1-s6-releaseandroid12-d1-s5-releaseandroid12-d1-s4-releaseandroid12-d1-s3-releaseandroid12-d1-s2-releaseandroid12-d1-s1-releaseandroid12-d1-release
Change-Id: Ie1aa8b4c1a3d147cf49d4333b1388244392dbed8
-rw-r--r-- | pcm.c | 20 |
1 files changed, 11 insertions, 9 deletions
@@ -912,8 +912,10 @@ struct pcm *pcm_open(unsigned int card, unsigned int device, return &bad_pcm; /* TODO: could support default config here */ } pcm = calloc(1, sizeof(struct pcm)); - if (!pcm) + if (!pcm) { + oops(&bad_pcm, ENOMEM, "can't allocate PCM object"); return &bad_pcm; /* TODO: could support default config here */ + } pcm->config = *config; pcm->flags = flags; @@ -927,13 +929,13 @@ struct pcm *pcm_open(unsigned int card, unsigned int device, pcm->fd = pcm->ops->open(card, device, flags, &pcm->data, pcm->snd_node); if (pcm->fd < 0) { - oops(pcm, errno, "cannot open device %u for card %u", + oops(&bad_pcm, errno, "cannot open device %u for card %u", device, card); goto fail_open; } if (pcm->ops->ioctl(pcm->data, SNDRV_PCM_IOCTL_INFO, &info)) { - oops(pcm, errno, "cannot get info"); + oops(&bad_pcm, errno, "cannot get info"); goto fail_close; } pcm->subdevice = info.subdevice; @@ -955,7 +957,7 @@ struct pcm *pcm_open(unsigned int card, unsigned int device, if (flags & PCM_NOIRQ) { if (!(flags & PCM_MMAP)) { - oops(pcm, EINVAL, "noirq only currently supported with mmap()."); + oops(&bad_pcm, EINVAL, "noirq only currently supported with mmap()."); goto fail_close; } @@ -971,7 +973,7 @@ struct pcm *pcm_open(unsigned int card, unsigned int device, SNDRV_PCM_ACCESS_RW_INTERLEAVED); if (pcm->ops->ioctl(pcm->data, SNDRV_PCM_IOCTL_HW_PARAMS, ¶ms)) { - oops(pcm, errno, "cannot set hw params"); + oops(&bad_pcm, errno, "cannot set hw params"); goto fail_close; } @@ -985,7 +987,7 @@ struct pcm *pcm_open(unsigned int card, unsigned int device, pcm_frames_to_bytes(pcm, pcm->buffer_size), PROT_READ | PROT_WRITE, MAP_FILE | MAP_SHARED, 0); if (pcm->mmap_buffer == MAP_FAILED) { - oops(pcm, errno, "failed to mmap buffer %d bytes\n", + oops(&bad_pcm, errno, "failed to mmap buffer %d bytes\n", pcm_frames_to_bytes(pcm, pcm->buffer_size)); goto fail_close; } @@ -1033,13 +1035,13 @@ struct pcm *pcm_open(unsigned int card, unsigned int device, pcm->boundary *= 2; if (pcm->ops->ioctl(pcm->data, SNDRV_PCM_IOCTL_SW_PARAMS, &sparams)) { - oops(pcm, errno, "cannot set sw params"); + oops(&bad_pcm, errno, "cannot set sw params"); goto fail; } rc = pcm_hw_mmap_status(pcm); if (rc < 0) { - oops(pcm, errno, "mmap status failed"); + oops(&bad_pcm, errno, "mmap status failed"); goto fail; } @@ -1048,7 +1050,7 @@ struct pcm *pcm_open(unsigned int card, unsigned int device, int arg = SNDRV_PCM_TSTAMP_TYPE_MONOTONIC; rc = pcm->ops->ioctl(pcm->data, SNDRV_PCM_IOCTL_TTSTAMP, &arg); if (rc < 0) { - oops(pcm, errno, "cannot set timestamp type"); + oops(&bad_pcm, errno, "cannot set timestamp type"); goto fail; } } |