spi: davinci: check for NULL buffer pointer before using it

In the davinci_spi_{tx|rx}_u{8|16}() functions, check for
buffer pointer being valid before using it. While providing
for better error checking, this change will help simplify
code in the caller.

Signed-off-by: Brian Niebuhr <bniebuhr@efjohnson.com>
Tested-By: Michael Williamson <michael.williamson@criticallink.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
This commit is contained in:
Brian Niebuhr 2010-08-19 17:04:25 +05:30 коммит произвёл Sekhar Nori
Родитель b7ab24a0da
Коммит 53d454a170
1 изменённых файлов: 22 добавлений и 18 удалений

Просмотреть файл

@ -158,37 +158,41 @@ static unsigned use_dma;
static void davinci_spi_rx_buf_u8(u32 data, struct davinci_spi *davinci_spi)
{
u8 *rx = davinci_spi->rx;
*rx++ = (u8)data;
davinci_spi->rx = rx;
if (davinci_spi->rx) {
u8 *rx = davinci_spi->rx;
*rx++ = (u8)data;
davinci_spi->rx = rx;
}
}
static void davinci_spi_rx_buf_u16(u32 data, struct davinci_spi *davinci_spi)
{
u16 *rx = davinci_spi->rx;
*rx++ = (u16)data;
davinci_spi->rx = rx;
if (davinci_spi->rx) {
u16 *rx = davinci_spi->rx;
*rx++ = (u16)data;
davinci_spi->rx = rx;
}
}
static u32 davinci_spi_tx_buf_u8(struct davinci_spi *davinci_spi)
{
u32 data;
const u8 *tx = davinci_spi->tx;
data = *tx++;
davinci_spi->tx = tx;
u32 data = 0;
if (davinci_spi->tx) {
const u8 *tx = davinci_spi->tx;
data = *tx++;
davinci_spi->tx = tx;
}
return data;
}
static u32 davinci_spi_tx_buf_u16(struct davinci_spi *davinci_spi)
{
u32 data;
const u16 *tx = davinci_spi->tx;
data = *tx++;
davinci_spi->tx = tx;
u32 data = 0;
if (davinci_spi->tx) {
const u16 *tx = davinci_spi->tx;
data = *tx++;
davinci_spi->tx = tx;
}
return data;
}