]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
ALSA: asihpi - Return hw error directly from oustream_write.
authorEliot Blennerhassett <eblennerhassett@audioscience.com>
Sat, 28 Aug 2010 07:52:24 +0000 (19:52 +1200)
committerTakashi Iwai <tiwai@suse.de>
Sat, 28 Aug 2010 09:55:07 +0000 (11:55 +0200)
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>
sound/pci/asihpi/hpi6205.c

index 3b44134482266ff5f17ddeb301b258846a34eb77..22c5fc6255335ac94aca5ac297432f16b0950c4e 100644 (file)
@@ -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)