tracking down null pointer
This commit is contained in:
parent
6f419581ba
commit
0648ff5649
16
aes67.c
16
aes67.c
|
@ -43,6 +43,9 @@ struct aes67 {
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//Forward declarations
|
||||||
|
static int snd_aes67_new_pcm(struct aes67 *virtcard);
|
||||||
|
|
||||||
/* Destructor */
|
/* Destructor */
|
||||||
static int snd_aes67_free(struct aes67 *virtcard)
|
static int snd_aes67_free(struct aes67 *virtcard)
|
||||||
{
|
{
|
||||||
|
@ -83,10 +86,20 @@ static int snd_aes67_create(struct snd_card *card, struct aes67 **rvirtcard)
|
||||||
/* Build Sound Device */
|
/* Build Sound Device */
|
||||||
err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, virtcard, &ops);
|
err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, virtcard, &ops);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
|
snd_printk(KERN_ERR "Failed to create AES67 device\n");
|
||||||
snd_aes67_free(virtcard);
|
snd_aes67_free(virtcard);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Add PCM */
|
||||||
|
err = snd_aes67_new_pcm(virtcard);
|
||||||
|
if (err < 0) {
|
||||||
|
snd_printk(KERN_ERR "Failed to create PCM for AES67 device\n");
|
||||||
|
snd_aes67_free(virtcard);
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
*rvirtcard = virtcard;
|
*rvirtcard = virtcard;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -285,10 +298,13 @@ static int snd_aes67_new_pcm(struct aes67 *virtcard)
|
||||||
struct snd_pcm *pcm;
|
struct snd_pcm *pcm;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
snd_printk(KERN_INFO "Initializing PCM for Virtual Soundcard");
|
||||||
err = snd_pcm_new(virtcard->card, CARD_NAME, 0, 1, 1, &pcm);
|
err = snd_pcm_new(virtcard->card, CARD_NAME, 0, 1, 1, &pcm);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
|
snd_printk(KERN_INFO "Failed initializing PCM for Virtual Soundcard");
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
|
snd_printk(KERN_INFO "Assigning PCM to Virtual Soundcard");
|
||||||
pcm->private_data = virtcard;
|
pcm->private_data = virtcard;
|
||||||
strcpy(pcm->name, CARD_NAME);
|
strcpy(pcm->name, CARD_NAME);
|
||||||
virtcard->pcm = pcm;
|
virtcard->pcm = pcm;
|
||||||
|
|
Loading…
Reference in New Issue