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:
Родитель
b7ab24a0da
Коммит
53d454a170
|
@ -158,37 +158,41 @@ static unsigned use_dma;
|
||||||
|
|
||||||
static void davinci_spi_rx_buf_u8(u32 data, struct davinci_spi *davinci_spi)
|
static void davinci_spi_rx_buf_u8(u32 data, struct davinci_spi *davinci_spi)
|
||||||
{
|
{
|
||||||
u8 *rx = davinci_spi->rx;
|
if (davinci_spi->rx) {
|
||||||
|
u8 *rx = davinci_spi->rx;
|
||||||
*rx++ = (u8)data;
|
*rx++ = (u8)data;
|
||||||
davinci_spi->rx = rx;
|
davinci_spi->rx = rx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void davinci_spi_rx_buf_u16(u32 data, struct davinci_spi *davinci_spi)
|
static void davinci_spi_rx_buf_u16(u32 data, struct davinci_spi *davinci_spi)
|
||||||
{
|
{
|
||||||
u16 *rx = davinci_spi->rx;
|
if (davinci_spi->rx) {
|
||||||
|
u16 *rx = davinci_spi->rx;
|
||||||
*rx++ = (u16)data;
|
*rx++ = (u16)data;
|
||||||
davinci_spi->rx = rx;
|
davinci_spi->rx = rx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 davinci_spi_tx_buf_u8(struct davinci_spi *davinci_spi)
|
static u32 davinci_spi_tx_buf_u8(struct davinci_spi *davinci_spi)
|
||||||
{
|
{
|
||||||
u32 data;
|
u32 data = 0;
|
||||||
const u8 *tx = davinci_spi->tx;
|
if (davinci_spi->tx) {
|
||||||
|
const u8 *tx = davinci_spi->tx;
|
||||||
data = *tx++;
|
data = *tx++;
|
||||||
davinci_spi->tx = tx;
|
davinci_spi->tx = tx;
|
||||||
|
}
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 davinci_spi_tx_buf_u16(struct davinci_spi *davinci_spi)
|
static u32 davinci_spi_tx_buf_u16(struct davinci_spi *davinci_spi)
|
||||||
{
|
{
|
||||||
u32 data;
|
u32 data = 0;
|
||||||
const u16 *tx = davinci_spi->tx;
|
if (davinci_spi->tx) {
|
||||||
|
const u16 *tx = davinci_spi->tx;
|
||||||
data = *tx++;
|
data = *tx++;
|
||||||
davinci_spi->tx = tx;
|
davinci_spi->tx = tx;
|
||||||
|
}
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче