if (rme32->pci->device == PCI_DEVICE_ID_DIGI32_PRO) { 
if (rme32->pci->device == PCI_DEVICE_ID_RME_DIGI32_PRO) { 
static int snd_rme32_playback_spdif_open(snd_pcm_substream_t * substream){	int rate, dummy;	rme32_t *rme32 = snd_pcm_substream_chip(substream);	snd_pcm_runtime_t *runtime = substream->runtime;	snd_pcm_set_sync(substream);	spin_lock_irq(&rme32->lock);	if (rme32->playback_substream != NULL) {		spin_unlock_irq(&rme32->lock);		return -EBUSY;	}	rme32->wcreg &= ~RME32_WCR_ADAT;	writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER);	rme32->playback_substream = substream;	spin_unlock_irq(&rme32->lock);	if (rme32->fullduplex_mode)		runtime->hw = snd_rme32_spdif_fd_info;	else		runtime->hw = snd_rme32_spdif_info;	if (rme32->pci->device == PCI_DEVICE_ID_DIGI32_PRO) {		runtime->hw.rates |= SNDRV_PCM_RATE_64000 | SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000;		runtime->hw.rate_max = 96000;	}	if ((rme32->rcreg & RME32_RCR_KMODE) &&	    (rate = snd_rme32_capture_getrate(rme32, &dummy)) > 0) {		/* AutoSync */		runtime->hw.rates = snd_rme32_ratecode(rate);		runtime->hw.rate_min = rate;		runtime->hw.rate_max = rate;	}       	snd_rme32_set_buffer_constraint(rme32, runtime);	rme32->wcreg_spdif_stream = rme32->wcreg_spdif;	rme32->spdif_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE;	snd_ctl_notify(rme32->card, SNDRV_CTL_EVENT_MASK_VALUE |		       SNDRV_CTL_EVENT_MASK_INFO, &rme32->spdif_ctl->id);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/8b7fc4214b550fafe595330e28d7c2c72b8b62f6/rme32.c/buggy/sound/pci/rme32.c