From 60d31c8571f735e6bbeaf83c66d1c421d1c49a09 Mon Sep 17 00:00:00 2001 From: Sven Schnelle Date: Mon, 23 Nov 2015 15:46:44 +0100 Subject: [PATCH] bcwc_pcie: call bcwc_buffer_queued handler --- bcwc_drv.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bcwc_drv.c b/bcwc_drv.c index ada43aa..a1b105b 100644 --- a/bcwc_drv.c +++ b/bcwc_drv.c @@ -175,6 +175,13 @@ static void io_t2h_handler(struct bcwc_private *dev_priv, bcwc_channel_ringbuf_send(dev_priv, chan, 0, 0, 0); } +static void buf_h2t_handler(struct bcwc_private *dev_priv, + struct fw_channel *chan, + struct bcwc_ringbuf_entry *entry) +{ + bcwc_buffer_queued_handler(dev_priv, (struct dma_descriptor_list *)(dev_priv->s2_mem + (entry->address_flags & ~3))); +} + static void bcwc_handle_irq(struct bcwc_private *dev_priv, struct fw_channel *chan) { struct bcwc_ringbuf_entry *entry; @@ -192,6 +199,8 @@ static void bcwc_handle_irq(struct bcwc_private *dev_priv, struct fw_channel *ch wake_up_interruptible(&dev_priv->wq); } else if (chan == dev_priv->channel_io_t2h) { io_t2h_handler(dev_priv, chan, entry); + } else if (chan == dev_priv->channel_buf_h2t) { + buf_h2t_handler(dev_priv, chan, entry); } } }