From: Colin Ian King Date: Thu, 22 Jun 2017 16:34:49 +0000 (+0100) Subject: spi: stm32: fix error check on mbr being -ve X-Git-Tag: v4.13~433^2^4~8 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=a2f07d38d6981ed220d86b7df07e4ac6a1734443;p=mirror_ubuntu-artful-kernel.git spi: stm32: fix error check on mbr being -ve The error check of mbr < 0 is always false because mbr is a u32. Make mbt an int so that a -ve error return from stm32_spi_prepare_mbr can be detected. Detected by CoverityScan, CID#1446586 ("Unsigned compared against 0") Signed-off-by: Colin Ian King Signed-off-by: Mark Brown --- diff --git a/drivers/spi/spi-stm32.c b/drivers/spi/spi-stm32.c index 0553f61ab3b7..305ecd5334fc 100644 --- a/drivers/spi/spi-stm32.c +++ b/drivers/spi/spi-stm32.c @@ -857,7 +857,7 @@ static int stm32_spi_transfer_one_setup(struct stm32_spi *spi, } if (spi->cur_speed != transfer->speed_hz) { - u32 mbr; + int mbr; /* Update spi->cur_speed with real clock speed */ mbr = stm32_spi_prepare_mbr(spi, transfer->speed_hz); @@ -869,7 +869,7 @@ static int stm32_spi_transfer_one_setup(struct stm32_spi *spi, transfer->speed_hz = spi->cur_speed; cfg1_clrb |= SPI_CFG1_MBR; - cfg1_setb |= (mbr << SPI_CFG1_MBR_SHIFT) & SPI_CFG1_MBR; + cfg1_setb |= ((u32)mbr << SPI_CFG1_MBR_SHIFT) & SPI_CFG1_MBR; } if (cfg1_clrb || cfg1_setb)