[media] cx25821: Cleanup filename assignment code
authorPeter Senna Tschudin <peter.senna@gmail.com>
Mon, 17 Sep 2012 07:04:58 +0000 (04:04 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 18 Mar 2013 23:37:09 +0000 (20:37 -0300)
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.senna@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/pci/cx25821/cx25821-audio-upstream.c

index 87491ca05ee556fc9b7b4fc4c2112684fc997604..ea973202a66ce7797034d6d939fd693401eb7593 100644 (file)
@@ -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,