diff options
| author | Eliot Blennerhassett <eblennerhassett@audioscience.com> | 2010-08-28 19:52:24 +1200 | 
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2010-08-28 11:55:07 +0200 | 
| commit | 60f1deb595c08687a96157a6a3ce08ef34142362 (patch) | |
| tree | b3ee0d40829094c0de81c6922e517e751284104a | |
| parent | e9a8a85d9f88313264d59d40815951a46ff9a4bb (diff) | |
ALSA: asihpi - Return hw error directly from oustream_write.
If hw error is ignored, status is updated with invalid info.
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
| -rw-r--r-- | sound/pci/asihpi/hpi6205.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/sound/pci/asihpi/hpi6205.c b/sound/pci/asihpi/hpi6205.c index 3b4413448226..22c5fc625533 100644 --- a/sound/pci/asihpi/hpi6205.c +++ b/sound/pci/asihpi/hpi6205.c @@ -941,8 +941,7 @@ static void outstream_host_buffer_free(struct hpi_adapter_obj *pao,  } -static u32 outstream_get_space_available(struct hpi_hostbuffer_status -	*status) +static u32 outstream_get_space_available(struct hpi_hostbuffer_status *status)  {  	return status->size_in_bytes - (status->host_index -  		status->dSP_index); @@ -987,6 +986,10 @@ static void outstream_write(struct hpi_adapter_obj *pao,  		/* write it */  		phm->function = HPI_OSTREAM_WRITE;  		hw_message(pao, phm, phr); + +		if (phr->error) +			return; +  		/* update status information that the DSP would typically  		 * update (and will update next time the DSP  		 * buffer update task reads data from the host BBM buffer)  | 
