Re: [RFC 0/2] McBSP and ASoC OMAP update patches for 2430 and 34xx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Op 27 aug 2008, om 22:57 heeft Steve Sakoman het volgende geschreven:

Hope to get back to it later today if I can finish bringing up the new hw.

Had a few moments to look at this while waiting for a build.

This set of ioctl's are called at the failure point:

SNDRV_PCM_IOCTL_START:snd_pcm_common_ioctl1 2550 substream c7bdb900

SNDRV_PCM_IOCTL_PVERSION:snd_pcm_common_ioctl1 2514 substream 00000000

SNDRV_PCM_IOCTL_INFO:snd_pcm_common_ioctl1 2517 substream 00000000

Unable to handle kernel NULL pointer dereference at virtual address 00000000


So substream goes null sometime after the SNDRV_PCM_IOCTL_START but
before SNDRV_PCM_IOCTL_PVERSION .  I believe that those calls are
generated by the following code in alsa-lib's
snd_pcm_direct_initialize_slave function in src/pcm/pcm_direct.c:

	ret = snd_pcm_start(spcm);  <=== THIS ROUTINE GENERATES A
SNDRV_PCM_IOCTL_START IOCTL
	if (ret < 0) {
		SNDERR("unable to start PCM stream");
		return ret;
	}

	if (snd_pcm_poll_descriptors_count(spcm) != 1) {
		SNDERR("unable to use hardware pcm with fd more than one!!!");
		return ret;
	}
	snd_pcm_poll_descriptors(spcm, &fd, 1);
	dmix->hw_fd = fd.fd;
	
	save_slave_setting(dmix, spcm);

	/* Currently, we assume that each dmix client has the same
	 * hw_params setting.
	 * If the arbitrary hw_parmas is supported in future,
	 * boundary has to be taken from the slave config but
	 * recalculated for the native boundary size (for 32bit
	 * emulation on 64bit arch).
	 */
	dmix->slave_buffer_size = spcm->buffer_size;
	dmix->slave_period_size = spcm->period_size;
	dmix->slave_boundary = spcm->boundary;

	spcm->donot_close = 1;

	{
		int ver = 0;
		ioctl(spcm->poll_fd, SNDRV_PCM_IOCTL_PVERSION, &ver);  <=== THIS IS
THE FIRST POINT OF NULL SUBSTREAM
		if (ver < SNDRV_PROTOCOL_VERSION(2, 0, 8))
			dmix->shmptr->use_server = 1;
	}


So this seems to narrow the area to search quite considerably!  Back
to hw bringup . . .

could you try removing /etc/asound.conf, it is set to dmix by default, which might screw things up.

regards,

Koen





Steve
--
To unsubscribe from this list: send the line "unsubscribe linux- omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Attachment: PGP.sig
Description: This is a digitally signed message part


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux