ALSA: firewire-lib, firewire-speakers: handle packet queueing errors
[pandora-kernel.git] / sound / firewire / amdtp.h
index 02dc1a6..537a9cb 100644 (file)
@@ -56,7 +56,7 @@ struct amdtp_out_stream {
 
        struct snd_pcm_substream *pcm;
 
-       unsigned int packet_counter;
+       int packet_index;
        unsigned int data_block_counter;
 
        unsigned int data_block_state;
@@ -110,6 +110,18 @@ static inline void amdtp_out_stream_set_midi(struct amdtp_out_stream *s,
        s->midi_ports = midi_ports;
 }
 
+/**
+ * amdtp_out_streaming_error - check for streaming error
+ * @s: the AMDTP output stream
+ *
+ * If this function returns true, the stream's packet queue has stopped due to
+ * an asynchronous error.
+ */
+static inline bool amdtp_out_streaming_error(struct amdtp_out_stream *s)
+{
+       return s->packet_index < 0;
+}
+
 /**
  * amdtp_out_stream_pcm_prepare - prepare PCM device for running
  * @s: the AMDTP output stream