driver: mtd: sf_ops: claim bus while doing memcpy
authorPoddar, Sourav <sourav.poddar@ti.com>
Thu, 14 Nov 2013 15:31:15 +0000 (21:01 +0530)
committerJagannadha Sutradharudu Teki <jaganna@xilinx.com>
Thu, 19 Dec 2013 06:53:22 +0000 (12:23 +0530)
claim spi bus while doing memory copy, this will set up
the spi controller device control register before doing
a memory read.

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Tested-by: Yebio Mesfin <ymesfin@ti.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
drivers/mtd/spi/sf_ops.c

index 108665f4415f60433ccefa596b1c39e3836d5017..e316a692a8de61f0870b0022256cd44b30f71003 100644 (file)
@@ -273,9 +273,15 @@ int spi_flash_cmd_read_ops(struct spi_flash *flash, u32 offset,
 
        /* Handle memory-mapped SPI */
        if (flash->memory_map) {
+               ret = spi_claim_bus(flash->spi);
+               if (ret) {
+                       debug("SF: unable to claim SPI bus\n");
+                       return ret;
+               }
                spi_xfer(flash->spi, 0, NULL, NULL, SPI_XFER_MMAP);
                memcpy(data, flash->memory_map + offset, len);
                spi_xfer(flash->spi, 0, NULL, NULL, SPI_XFER_MMAP_END);
+               spi_release_bus(flash->spi);
                return 0;
        }