/* hw_free callback: clean up the buffer description table and release the buffer  */
static int snd_via82xx_hw_free(struct snd_pcm_substream *substream)
/* hw_free callback: clean up the buffer description table and release the buffer  */
static int snd_via82xx_hw_free(struct snd_pcm_substream *substream)
{
	struct via82xx *chip = snd_pcm_substream_chip(substream);
	struct viadev *viadev = substream->runtime->private_data;
	clean_via_table(viadev, substream, chip->pci);
	snd_pcm_lib_free_pages(substream);
	return 0;
}