|
@@ -394,8 +394,6 @@ static void dma_irq_callback(void *param)
|
|
struct gpmi_nand_data *this = param;
|
|
struct gpmi_nand_data *this = param;
|
|
struct completion *dma_c = &this->dma_done;
|
|
struct completion *dma_c = &this->dma_done;
|
|
|
|
|
|
- complete(dma_c);
|
|
|
|
-
|
|
|
|
switch (this->dma_type) {
|
|
switch (this->dma_type) {
|
|
case DMA_FOR_COMMAND:
|
|
case DMA_FOR_COMMAND:
|
|
dma_unmap_sg(this->dev, &this->cmd_sgl, 1, DMA_TO_DEVICE);
|
|
dma_unmap_sg(this->dev, &this->cmd_sgl, 1, DMA_TO_DEVICE);
|
|
@@ -420,6 +418,8 @@ static void dma_irq_callback(void *param)
|
|
default:
|
|
default:
|
|
pr_err("in wrong DMA operation.\n");
|
|
pr_err("in wrong DMA operation.\n");
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ complete(dma_c);
|
|
}
|
|
}
|
|
|
|
|
|
int start_dma_without_bch_irq(struct gpmi_nand_data *this,
|
|
int start_dma_without_bch_irq(struct gpmi_nand_data *this,
|