Don't set PCM pointer at error in snd_pcm_hw_open()
Don't set PCM pointer at error in snd_pcm_hw_open()

snd_pcm_hw_open() may set a non-NULL to pcmp even if it returns an error.
Some codes like dmix expects it's NULL, and cause the double free().

takaswie/alsa-lib,gittup/alsa-lib,takaswie/alsa-lib,gittup/alsa-lib,tiwai/alsa-lib,mikelima/alsa-lib,takaswie/alsa-lib,takaswie/alsa-lib,mikelima/alsa-lib,mikelima/alsa-lib,lgirdwood/alsa-lib,alsa-project/alsa-lib,mengdonglin/alsa-lib,tiwai/alsa-lib,mengdonglin/alsa-lib,takaswie/alsa-lib,mengdonglin/alsa-lib,mengdonglin/alsa-lib,mengdonglin/alsa-lib,gittup/alsa-lib,Distrotech/alsa-lib,lgirdwood/alsa-lib,lgirdwood/alsa-lib,zedongchen/alsa-lib,lgirdwood/alsa-lib,mikelima/alsa-lib,zedongchen/alsa-lib,gittup/alsa-lib,zedongchen/alsa-lib,Distrotech/alsa-lib,alsa-project/alsa-lib,lgirdwood/alsa-lib,Distrotech/alsa-lib,Distrotech/alsa-lib,alsa-project/alsa-lib,tiwai/alsa-lib,tiwai/alsa-lib,zedongchen/alsa-lib,mikelima/alsa-lib,Distrotech/alsa-lib,alsa-project/alsa-lib,zedongchen/alsa-lib