I'm pasting the original code and my proposal on the commit message for
make it easy to compare the two versions.

Line 62 of cx25821-audio-upstream.h contains:
char *_defaultAudioName = "/root/audioGOOD.wav";

Original code after replace kmemdup for kstrdup, and after fix return error
code:
if (dev->input_audiofilename) {
        dev->_audiofilename = kstrdup(dev->input_audiofilename,
                                      GFP_KERNEL);
        if (!dev->_audiofilename) {
                err = -ENOMEM;
                goto error;
        }

        /* Default if filename is empty string */
        if (strcmp(dev->input_audiofilename, "") == 0)
                dev->_audiofilename = "/root/audioGOOD.wav";
} else {
        dev->_audiofilename = kstrdup(_defaultAudioName,
                                      GFP_KERNEL);

        if (!dev->_audiofilename) {
                err = -ENOMEM;
                goto error;
        }
}

Code proposed in this patch:
if ((dev->input_audiofilename) &&
    (strcmp(dev->input_audiofilename, "") != 0))
        dev->_audiofilename = kstrdup(dev->input_audiofilename,
                                      GFP_KERNEL);
else
        dev->_audiofilename = kstrdup(_defaultAudioName,
                                      GFP_KERNEL);

if (!dev->_audiofilename) {
        err = -ENOMEM;
        goto error;
}

Signed-off-by: Peter Senna Tschudin <peter.se...@gmail.com>
---
 drivers/media/pci/cx25821/cx25821-audio-upstream.c | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/drivers/media/pci/cx25821/cx25821-audio-upstream.c 
b/drivers/media/pci/cx25821/cx25821-audio-upstream.c
index 1cc797e..83316a8 100644
--- a/drivers/media/pci/cx25821/cx25821-audio-upstream.c
+++ b/drivers/media/pci/cx25821/cx25821-audio-upstream.c
@@ -728,26 +728,17 @@ int cx25821_audio_upstream_init(struct cx25821_dev *dev, 
int channel_select)
        dev->_audio_lines_count = LINES_PER_AUDIO_BUFFER;
        _line_size = AUDIO_LINE_SIZE;
 
-       if (dev->input_audiofilename) {
+       if ((dev->input_audiofilename) &&
+           (strcmp(dev->input_audiofilename, "") != 0))
                dev->_audiofilename = kstrdup(dev->input_audiofilename,
                                              GFP_KERNEL);
-
-               if (!dev->_audiofilename) {
-                       err = -ENOMEM;
-                       goto error;
-               }
-
-               /* Default if filename is empty string */
-               if (strcmp(dev->input_audiofilename, "") == 0)
-                       dev->_audiofilename = "/root/audioGOOD.wav";
-       } else {
+       else
                dev->_audiofilename = kstrdup(_defaultAudioName,
                                              GFP_KERNEL);
 
-               if (!dev->_audiofilename) {
-                       err = -ENOMEM;
-                       goto error;
-               }
+       if (!dev->_audiofilename) {
+               err = -ENOMEM;
+               goto error;
        }
 
        cx25821_sram_channel_setup_upstream_audio(dev, sram_ch,
-- 
1.7.11.4

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to