From: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
To: patch@alsa-project.org, vinod.koul@linux.intel.com
Cc: alsa-devel@alsa-project.org, patches@opensource.wolfsonmicro.com,
Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Subject: [PATCH - TINYCOMPRESS 3/4] compress: Return error messages correctly from compress_open
Date: Fri, 25 Jan 2013 10:43:13 +0000 [thread overview]
Message-ID: <1359110594-20163-3-git-send-email-ckeepax@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <1359110594-20163-1-git-send-email-ckeepax@opensource.wolfsonmicro.com>
The allocated compress object will be freed and bad_compress will be
returned, so error messages written to the allocated compress struct
will be lost. This patch writes error messages to bad_compress for error
paths in compress_open, ensuring that error messages are returned
correctly.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
diff --git a/compress.c b/compress.c
index 51455fc..c575acd 100644
--- a/compress.c
+++ b/compress.c
@@ -218,18 +218,18 @@ struct compress *compress_open(unsigned int card, unsigned int device,
compress->flags = flags;
if (!((flags & COMPRESS_OUT) || (flags & COMPRESS_IN))) {
- oops(compress, -EINVAL, "can't deduce device direction from given flags\n");
+ oops(&bad_compress, -EINVAL, "can't deduce device direction from given flags\n");
goto input_fail;
}
if (flags & COMPRESS_OUT) {
/* this should be removed once we have capture tested */
- oops(compress, -EINVAL, "this version doesnt support capture\n");
+ oops(&bad_compress, -EINVAL, "this version doesnt support capture\n");
goto input_fail;
}
compress->fd = open(fn, O_WRONLY);
if (compress->fd < 0) {
- oops(compress, errno, "cannot open device '%s'", fn);
+ oops(&bad_compress, errno, "cannot open device '%s'", fn);
goto input_fail;
}
#if 0
@@ -237,14 +237,14 @@ struct compress *compress_open(unsigned int card, unsigned int device,
* and treat in no support case
*/
if (_is_codec_supported(compress, config) == false) {
- oops(compress, errno, "codec not supported\n");
+ oops(&bad_compress, errno, "codec not supported\n");
goto codec_fail;
}
#endif
fill_compress_params(config, ¶ms);
if (ioctl(compress->fd, SNDRV_COMPRESS_SET_PARAMS, ¶ms)) {
- oops(compress, errno, "cannot set device");
+ oops(&bad_compress, errno, "cannot set device");
goto codec_fail;
}
--
1.7.2.5
next prev parent reply other threads:[~2013-01-25 10:43 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-25 10:43 [PATCH - TINYCOMPRESS 1/4] compress: Extend limit on error messages Charles Keepax
2013-01-25 10:43 ` [PATCH - TINYCOMPRESS 2/4] compress: Return error when failing to allocate compress struct Charles Keepax
2013-01-25 10:43 ` Charles Keepax [this message]
2013-01-25 10:43 ` [PATCH - TINYCOMPRESS 4/4] compress: Do not put newlines on error messages Charles Keepax
2013-01-28 6:13 ` Vinod Koul
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1359110594-20163-3-git-send-email-ckeepax@opensource.wolfsonmicro.com \
--to=ckeepax@opensource.wolfsonmicro.com \
--cc=alsa-devel@alsa-project.org \
--cc=patch@alsa-project.org \
--cc=patches@opensource.wolfsonmicro.com \
--cc=vinod.koul@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.