Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51882453a729675aa7266aa87d99f33eca310c86
Commit:     51882453a729675aa7266aa87d99f33eca310c86
Parent:     6ca2cdcc5e40286e6bf5286056b50a56c8ce327e
Author:     Mariusz Kozlowski <[EMAIL PROTECTED]>
AuthorDate: Sat Aug 11 11:06:09 2007 +0200
Committer:  Jaroslav Kysela <[EMAIL PROTECTED]>
CommitDate: Tue Oct 16 15:58:48 2007 +0200

    [ALSA] This patch removes memset() from snd_emu10k1_fx8010_info() which 
apparently
    
    isn't needed there.  Upatched code uses:
    memset(info, 0, sizeof(info));
    where 'info' is a pointer and therefore only first 4 bytes of 'info' gets
    cleared on a 32bit machine.  Anyway looking at the code zeoring this memory
    region isn't needed at all because the snd_emu10k1_fx8010_info() function
    initializes all the 'info' fields on its own.  So that's why this code works
    at all in its original form.
    This patch removes this redundant code.  Also snd_emu10k1_fx8010_info() 
can't
    fail so lets save some bytes and change its return type to void.
    
    Signed-off-by: Mariusz Kozlowski <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Takashi Iwai <[EMAIL PROTECTED]>
    Signed-off-by: Jaroslav Kysela <[EMAIL PROTECTED]>
---
 sound/pci/emu10k1/emufx.c |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/sound/pci/emu10k1/emufx.c b/sound/pci/emu10k1/emufx.c
index febdd13..5967e60 100644
--- a/sound/pci/emu10k1/emufx.c
+++ b/sound/pci/emu10k1/emufx.c
@@ -2440,14 +2440,13 @@ static void copy_string(char *dst, char *src, char 
*null, int idx)
                strcpy(dst, src);
 }
 
-static int snd_emu10k1_fx8010_info(struct snd_emu10k1 *emu,
+static void snd_emu10k1_fx8010_info(struct snd_emu10k1 *emu,
                                   struct snd_emu10k1_fx8010_info *info)
 {
        char **fxbus, **extin, **extout;
        unsigned short fxbus_mask, extin_mask, extout_mask;
        int res;
 
-       memset(info, 0, sizeof(info));
        info->internal_tram_size = emu->fx8010.itram_size;
        info->external_tram_size = emu->fx8010.etram_pages.bytes / 2;
        fxbus = fxbuses;
@@ -2464,7 +2463,6 @@ static int snd_emu10k1_fx8010_info(struct snd_emu10k1 
*emu,
        for (res = 16; res < 32; res++, extout++)
                copy_string(info->extout_names[res], extout_mask & (1 << res) ? 
*extout : NULL, "Unused", res);
        info->gpr_controls = emu->fx8010.gpr_count;
-       return 0;
 }
 
 static int snd_emu10k1_fx8010_ioctl(struct snd_hwdep * hw, struct file *file, 
unsigned int cmd, unsigned long arg)
@@ -2485,10 +2483,7 @@ static int snd_emu10k1_fx8010_ioctl(struct snd_hwdep * 
hw, struct file *file, un
                info = kmalloc(sizeof(*info), GFP_KERNEL);
                if (!info)
                        return -ENOMEM;
-               if ((res = snd_emu10k1_fx8010_info(emu, info)) < 0) {
-                       kfree(info);
-                       return res;
-               }
+               snd_emu10k1_fx8010_info(emu, info);
                if (copy_to_user(argp, info, sizeof(*info))) {
                        kfree(info);
                        return -EFAULT;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to