diff options
Diffstat (limited to 'drivers/spi/spi_imx.c')
-rw-r--r-- | drivers/spi/spi_imx.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/spi/spi_imx.c b/drivers/spi/spi_imx.c index 0480d8bb19d3..0671aeef5792 100644 --- a/drivers/spi/spi_imx.c +++ b/drivers/spi/spi_imx.c | |||
@@ -186,6 +186,7 @@ | |||
186 | #define QUEUE_STOPPED (1) | 186 | #define QUEUE_STOPPED (1) |
187 | 187 | ||
188 | #define IS_DMA_ALIGNED(x) (((u32)(x) & 0x03) == 0) | 188 | #define IS_DMA_ALIGNED(x) (((u32)(x) & 0x03) == 0) |
189 | #define DMA_ALIGNMENT 4 | ||
189 | /*-------------------------------------------------------------------------*/ | 190 | /*-------------------------------------------------------------------------*/ |
190 | 191 | ||
191 | 192 | ||
@@ -779,7 +780,8 @@ static irqreturn_t interrupt_transfer(struct driver_data *drv_data) | |||
779 | 780 | ||
780 | /* Read trailing bytes */ | 781 | /* Read trailing bytes */ |
781 | limit = loops_per_jiffy << 1; | 782 | limit = loops_per_jiffy << 1; |
782 | while ((read(drv_data) == 0) && limit--); | 783 | while ((read(drv_data) == 0) && --limit) |
784 | cpu_relax(); | ||
783 | 785 | ||
784 | if (limit == 0) | 786 | if (limit == 0) |
785 | dev_err(&drv_data->pdev->dev, | 787 | dev_err(&drv_data->pdev->dev, |
@@ -1481,6 +1483,7 @@ static int __init spi_imx_probe(struct platform_device *pdev) | |||
1481 | 1483 | ||
1482 | master->bus_num = pdev->id; | 1484 | master->bus_num = pdev->id; |
1483 | master->num_chipselect = platform_info->num_chipselect; | 1485 | master->num_chipselect = platform_info->num_chipselect; |
1486 | master->dma_alignment = DMA_ALIGNMENT; | ||
1484 | master->cleanup = cleanup; | 1487 | master->cleanup = cleanup; |
1485 | master->setup = setup; | 1488 | master->setup = setup; |
1486 | master->transfer = transfer; | 1489 | master->transfer = transfer; |