aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ufs
diff options
context:
space:
mode:
authorJesper Juhl <jesper.juhl@gmail.com>2006-06-25 08:47:17 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-25 13:01:01 -0400
commita9adb8dbcd7a337620862106f8c17aeb5e7278c7 (patch)
treec70b44cb6576c8034f52244af76a52c887146d4b /fs/ufs
parent552c03483e49a69312c9e7384fda9282c991880a (diff)
[PATCH] pnp: card_probe(): fix memory leak
We can leak `clink' if drv->probe == 0. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Cc: Adam Belay <ambx1@neo.rr.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/ufs')
0 files changed, 0 insertions, 0 deletions
om"> * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "seq_kernel.h" #include "seq_device.h" #include "soundfont.h" #include "seq_midi_emul.h" #ifdef CONFIG_SND_SEQUENCER_OSS #include "seq_oss.h" #endif #include "emux_legacy.h" #include "seq_virmidi.h" /* * compile flags */ #define SNDRV_EMUX_USE_RAW_EFFECT struct snd_emux; struct snd_emux_port; struct snd_emux_voice; struct snd_emux_effect_table; /* * operators */ struct snd_emux_operators { struct module *owner; struct snd_emux_voice *(*get_voice)(struct snd_emux *emu, struct snd_emux_port *port); int (*prepare)(struct snd_emux_voice *vp); void (*trigger)(struct snd_emux_voice *vp); void (*release)(struct snd_emux_voice *vp); void (*update)(struct snd_emux_voice *vp, int update); void (*terminate)(struct snd_emux_voice *vp); void (*free_voice)(struct snd_emux_voice *vp); void (*reset)(struct snd_emux *emu, int ch); /* the first parameters are struct snd_emux */ int (*sample_new)(struct snd_emux *emu, struct snd_sf_sample *sp, struct snd_util_memhdr *hdr, const void __user *data, long count); int (*sample_free)(struct snd_emux *emu, struct snd_sf_sample *sp, struct snd_util_memhdr *hdr); void (*sample_reset)(struct snd_emux *emu); int (*load_fx)(struct snd_emux *emu, int type, int arg, const void __user *data, long count); void (*sysex)(struct snd_emux *emu, char *buf, int len, int parsed, struct snd_midi_channel_set *chset); #ifdef CONFIG_SND_SEQUENCER_OSS int (*oss_ioctl)(struct snd_emux *emu, int cmd, int p1, int p2); #endif }; /* * constant values */ #define SNDRV_EMUX_MAX_PORTS 32 /* max # of sequencer ports */ #define SNDRV_EMUX_MAX_VOICES 64 /* max # of voices */ #define SNDRV_EMUX_MAX_MULTI_VOICES 16 /* max # of playable voices * simultineously */ /* * flags */ #define SNDRV_EMUX_ACCEPT_ROM (1<<0) /* * emuX wavetable */ struct snd_emux { struct snd_card *card; /* assigned card */ /* following should be initialized before registration */ int max_voices; /* Number of voices */ int mem_size; /* memory size (in byte) */ int num_ports; /* number of ports to be created */ int pitch_shift; /* pitch shift value (for Emu10k1) */ struct snd_emux_operators ops; /* operators */ void *hw; /* hardware */ unsigned long flags; /* other conditions */ int midi_ports; /* number of virtual midi devices */ int midi_devidx; /* device offset of virtual midi */ unsigned int linear_panning: 1; /* panning is linear (sbawe = 1, emu10k1 = 0) */ int hwdep_idx; /* hwdep device index */ struct snd_hwdep *hwdep; /* hwdep device */ /* private */