aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/block/mtip32xx/mtip32xx.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c
index 642f8ab675d4..b2012b76a0b6 100644
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -266,6 +266,12 @@ static void mtip_async_complete(struct mtip_port *port,
266 "Command tag %d failed due to TFE\n", tag); 266 "Command tag %d failed due to TFE\n", tag);
267 } 267 }
268 268
269 /* Unmap the DMA scatter list entries */
270 dma_unmap_sg(&dd->pdev->dev,
271 command->sg,
272 command->scatter_ents,
273 command->direction);
274
269 /* Upper layer callback */ 275 /* Upper layer callback */
270 if (likely(command->async_callback)) 276 if (likely(command->async_callback))
271 command->async_callback(command->async_data, cb_status); 277 command->async_callback(command->async_data, cb_status);
@@ -273,12 +279,6 @@ static void mtip_async_complete(struct mtip_port *port,
273 command->async_callback = NULL; 279 command->async_callback = NULL;
274 command->comp_func = NULL; 280 command->comp_func = NULL;
275 281
276 /* Unmap the DMA scatter list entries */
277 dma_unmap_sg(&dd->pdev->dev,
278 command->sg,
279 command->scatter_ents,
280 command->direction);
281
282 /* Clear the allocated and active bits for the command */ 282 /* Clear the allocated and active bits for the command */
283 atomic_set(&port->commands[tag].active, 0); 283 atomic_set(&port->commands[tag].active, 0);
284 release_slot(port, tag); 284 release_slot(port, tag);
@@ -709,6 +709,12 @@ static void mtip_timeout_function(unsigned long int data)
709 */ 709 */
710 writel(1 << bit, port->completed[group]); 710 writel(1 << bit, port->completed[group]);
711 711
712 /* Unmap the DMA scatter list entries */
713 dma_unmap_sg(&port->dd->pdev->dev,
714 command->sg,
715 command->scatter_ents,
716 command->direction);
717
712 /* Call the async completion callback. */ 718 /* Call the async completion callback. */
713 if (likely(command->async_callback)) 719 if (likely(command->async_callback))
714 command->async_callback(command->async_data, 720 command->async_callback(command->async_data,
@@ -716,12 +722,6 @@ static void mtip_timeout_function(unsigned long int data)
716 command->async_callback = NULL; 722 command->async_callback = NULL;
717 command->comp_func = NULL; 723 command->comp_func = NULL;
718 724
719 /* Unmap the DMA scatter list entries */
720 dma_unmap_sg(&port->dd->pdev->dev,
721 command->sg,
722 command->scatter_ents,
723 command->direction);
724
725 /* 725 /*
726 * Clear the allocated bit and active tag for the 726 * Clear the allocated bit and active tag for the
727 * command. 727 * command.