summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorAlejandro Gonzalez <alex.gonzalez@digi.com>2010-02-16 11:16:09 +0100
committerAlejandro Gonzalez <alex.gonzalez@digi.com>2010-05-24 11:25:23 +0200
commit66ba72a7fe15ad33d442ae007bfc6eee1359800d (patch)
tree1070a004e0c88ded663a7cef4f163f1bf46cbde6 /drivers/spi
parent2d5d938d1062f96fbaa1ea99e37e9ee9fc994b11 (diff)
ccwmx51: Fix SPI master driver crash.
When a half duplex SPI transfer is desired, it is usual to pass a NULL RX or TX buffer to indicate it. This caused a NULL pointer exception. Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/mxc_spi.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/spi/mxc_spi.c b/drivers/spi/mxc_spi.c
index 0b622e9c50d1..8ec90134769b 100644
--- a/drivers/spi/mxc_spi.c
+++ b/drivers/spi/mxc_spi.c
@@ -544,7 +544,10 @@ static void spi_put_tx_data(void *base, unsigned int count,
/* Perform Tx transaction */
for (i = 0; i < count; i++) {
- data = master_drv_data->transfer.tx_get(master_drv_data);
+ if (master_drv_data->transfer.tx_buf)
+ data = master_drv_data->transfer.tx_get(master_drv_data);
+ else
+ data = 0x0;
__raw_writel(data, base + MXC_CSPITXDATA);
}