From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752148AbdFVQey (ORCPT ); Thu, 22 Jun 2017 12:34:54 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:47158 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751156AbdFVQex (ORCPT ); Thu, 22 Jun 2017 12:34:53 -0400 From: Colin King To: Mark Brown , Maxime Coquelin , Alexandre Torgue , linux-spi@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] spi: stm32: fix error check on mbr being -ve Date: Thu, 22 Jun 2017 17:34:49 +0100 Message-Id: <20170622163449.23925-1-colin.king@canonical.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Colin Ian King 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 --- drivers/spi/spi-stm32.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-stm32.c b/drivers/spi/spi-stm32.c index b75909e7b117..82a6616f46b8 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) -- 2.11.0