git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 2.0 rc7
[linux-2.6.git]
/
sound
/
pci
/
ice1712
/
ak4xxx.c
diff --git
a/sound/pci/ice1712/ak4xxx.c
b/sound/pci/ice1712/ak4xxx.c
index
4a318a6
..
ae9dc02
100644
(file)
--- a/
sound/pci/ice1712/ak4xxx.c
+++ b/
sound/pci/ice1712/ak4xxx.c
@@
-33,7
+33,6
@@
MODULE_AUTHOR("Jaroslav Kysela <perex@suse.cz>");
MODULE_DESCRIPTION("ICEnsemble ICE17xx <-> AK4xxx AD/DA chip interface");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Jaroslav Kysela <perex@suse.cz>");
MODULE_DESCRIPTION("ICEnsemble ICE17xx <-> AK4xxx AD/DA chip interface");
MODULE_LICENSE("GPL");
-MODULE_CLASSES("{sound}");
static void snd_ice1712_akm4xxx_lock(akm4xxx_t *ak, int chip)
{
static void snd_ice1712_akm4xxx_lock(akm4xxx_t *ak, int chip)
{
@@
-127,12
+126,16
@@
int snd_ice1712_akm4xxx_init(akm4xxx_t *ak, const akm4xxx_t *temp,
{
struct snd_ak4xxx_private *priv;
{
struct snd_ak4xxx_private *priv;
- priv = kmalloc(sizeof(*priv), GFP_KERNEL);
- if (priv == NULL)
- return -ENOMEM;
+ if (_priv != NULL) {
+ priv = kmalloc(sizeof(*priv), GFP_KERNEL);
+ if (priv == NULL)
+ return -ENOMEM;
+ *priv = *_priv;
+ } else {
+ priv = NULL;
+ }
*ak = *temp;
ak->card = ice->card;
*ak = *temp;
ak->card = ice->card;
- *priv = *_priv;
ak->private_value[0] = (unsigned long)priv;
ak->private_data[0] = ice;
if (ak->ops.lock == NULL)
ak->private_value[0] = (unsigned long)priv;
ak->private_data[0] = ice;
if (ak->ops.lock == NULL)
@@
-152,8
+155,7
@@
void snd_ice1712_akm4xxx_free(ice1712_t *ice)
return;
for (akidx = 0; akidx < ice->akm_codecs; akidx++) {
akm4xxx_t *ak = &ice->akm[akidx];
return;
for (akidx = 0; akidx < ice->akm_codecs; akidx++) {
akm4xxx_t *ak = &ice->akm[akidx];
- if (ak->private_value[0])
- kfree((void *)ak->private_value[0]);
+ kfree((void*)ak->private_value[0]);
}
kfree(ice->akm);
}
}
kfree(ice->akm);
}