cmd == SNDRV_PCM_TRIGGER_SUSPEND || 
static int azx_pcm_trigger(snd_pcm_substream_t *substream, int cmd){	struct azx_pcm *apcm = snd_pcm_substream_chip(substream);	azx_dev_t *azx_dev = get_azx_dev(substream);	azx_t *chip = apcm->chip;	int err = 0;	spin_lock(&chip->reg_lock);	switch (cmd) {	case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:	case SNDRV_PCM_TRIGGER_RESUME:	case SNDRV_PCM_TRIGGER_START:		azx_stream_start(chip, azx_dev);		azx_dev->running = 1;		break;	case SNDRV_PCM_TRIGGER_PAUSE_PUSH:	case SNDRV_PCM_TRIGGER_STOP:		azx_stream_stop(chip, azx_dev);		azx_dev->running = 0;		break;	default:		err = -EINVAL;	}	spin_unlock(&chip->reg_lock);	if (cmd == SNDRV_PCM_TRIGGER_PAUSE_PUSH ||	    cmd == SNDRV_PCM_TRIGGER_STOP) {		int timeout = 5000;		while (azx_sd_readb(azx_dev, SD_CTL) & SD_CTL_DMA_START && --timeout)			;	}	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/47123197c5522f4ae3dc5914e7832dd047f9ddc8/hda_intel.c/clean/sound/pci/hda/hda_intel.c