diff options
author | Alejandro Gonzalez <alex.gonzalez@digi.com> | 2010-02-16 11:16:09 +0100 |
---|---|---|
committer | Alejandro Gonzalez <alex.gonzalez@digi.com> | 2010-05-24 11:25:23 +0200 |
commit | 66ba72a7fe15ad33d442ae007bfc6eee1359800d (patch) | |
tree | 1070a004e0c88ded663a7cef4f163f1bf46cbde6 /drivers/spi | |
parent | 2d5d938d1062f96fbaa1ea99e37e9ee9fc994b11 (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.c | 5 |
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); } |