diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-07-02 01:08:14 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-07-02 01:08:14 +0000 |
commit | ee96276d905422ef51743fca195c3eceb7e06909 (patch) | |
tree | c1fdd4e6db06429e7a726e1453292e3179f810ef | |
parent | 8abc00660876849c1daaa89fc3f9039ec99931f7 (diff) | |
parent | 6d0fa28a0330aec87fc1b7156f8c67f61aad2943 (diff) | |
download | tinyalsa-android12L-d2-s6-release.tar.gz |
Snap for 7513903 from 6d0fa28a0330aec87fc1b7156f8c67f61aad2943 to sc-d2-releaseandroid-12.1.0_r26android-12.1.0_r25android-12.1.0_r24android-12.1.0_r23android-12.1.0_r18android-12.1.0_r17android-12.1.0_r16android-12.1.0_r15android-12.1.0_r14android-12.1.0_r13android-12.1.0_r12android12L-d2-s8-releaseandroid12L-d2-s7-releaseandroid12L-d2-s6-releaseandroid12L-d2-s5-releaseandroid12L-d2-s4-releaseandroid12L-d2-s3-releaseandroid12L-d2-s2-releaseandroid12L-d2-s1-releaseandroid12L-d2-release
Change-Id: If8e8a5c212612d922df6f75bc11c9bd4f74314d1
-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; } } |