git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
[pandora-kernel.git]
/
sound
/
core
/
pcm.c
diff --git
a/sound/core/pcm.c
b/sound/core/pcm.c
index
fbbbcd2
..
8e01898
100644
(file)
--- a/
sound/core/pcm.c
+++ b/
sound/core/pcm.c
@@
-640,6
+640,10
@@
int snd_pcm_new_stream(struct snd_pcm *pcm, int stream, int substream_count)
err = snd_pcm_substream_proc_init(substream);
if (err < 0) {
snd_printk(KERN_ERR "Error in snd_pcm_stream_proc_init\n");
err = snd_pcm_substream_proc_init(substream);
if (err < 0) {
snd_printk(KERN_ERR "Error in snd_pcm_stream_proc_init\n");
+ if (prev == NULL)
+ pstr->substream = NULL;
+ else
+ prev->next = NULL;
kfree(substream);
return err;
}
kfree(substream);
return err;
}
@@
-910,7
+914,8
@@
void snd_pcm_detach_substream(struct snd_pcm_substream *substream)
substream->pstr->substream_opened--;
}
substream->pstr->substream_opened--;
}
-static ssize_t show_pcm_class(struct class_device *class_device, char *buf)
+static ssize_t show_pcm_class(struct device *dev,
+ struct device_attribute *attr, char *buf)
{
struct snd_pcm *pcm;
const char *str;
{
struct snd_pcm *pcm;
const char *str;
@@
-921,7
+926,7
@@
static ssize_t show_pcm_class(struct class_device *class_device, char *buf)
[SNDRV_PCM_CLASS_DIGITIZER] = "digitizer",
};
[SNDRV_PCM_CLASS_DIGITIZER] = "digitizer",
};
- if (! (pcm =
class_get_devdata(class_device
)) ||
+ if (! (pcm =
dev_get_drvdata(dev
)) ||
pcm->dev_class > SNDRV_PCM_CLASS_LAST)
str = "none";
else
pcm->dev_class > SNDRV_PCM_CLASS_LAST)
str = "none";
else
@@
-929,7
+934,7
@@
static ssize_t show_pcm_class(struct class_device *class_device, char *buf)
return snprintf(buf, PAGE_SIZE, "%s\n", str);
}
return snprintf(buf, PAGE_SIZE, "%s\n", str);
}
-static struct
class_
device_attribute pcm_attrs =
+static struct device_attribute pcm_attrs =
__ATTR(pcm_class, S_IRUGO, show_pcm_class, NULL);
static int snd_pcm_dev_register(struct snd_device *device)
__ATTR(pcm_class, S_IRUGO, show_pcm_class, NULL);
static int snd_pcm_dev_register(struct snd_device *device)