#ifdef USE_POSBUF 
static int azx_free(azx_t *chip){	if (chip->remap_addr) {		int i;		for (i = 0; i < MAX_ICH6_DEV; i++)			azx_stream_stop(chip, &chip->azx_dev[i]);		/* disable interrupts */		azx_int_disable(chip);		azx_int_clear(chip);		/* disable CORB/RIRB */		azx_free_cmd_io(chip);		/* disable position buffer */		azx_writel(chip, DPLBASE, 0);		azx_writel(chip, DPUBASE, 0);		/* wait a little for interrupts to finish */		msleep(1);		iounmap(chip->remap_addr);	}	if (chip->irq >= 0)		free_irq(chip->irq, (void*)chip);	if (chip->bdl.area)		snd_dma_free_pages(&chip->bdl);	if (chip->rb.area)		snd_dma_free_pages(&chip->rb);#ifdef USE_POSBUF	if (chip->posbuf.area)		snd_dma_free_pages(&chip->posbuf);#endif	pci_release_regions(chip->pci);	pci_disable_device(chip->pci);	kfree(chip);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/c74db86bcf0897cdd4dc1f85ae0d76ef59aaeb20/hda_intel.c/clean/sound/pci/hda/hda_intel.c