From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934126AbbCDQgQ (ORCPT ); Wed, 4 Mar 2015 11:36:16 -0500 Received: from mail-qc0-f178.google.com ([209.85.216.178]:42432 "EHLO mail-qc0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933201AbbCDQgO (ORCPT ); Wed, 4 Mar 2015 11:36:14 -0500 From: David Bender To: linux-kernel@vger.kernel.org Cc: David Bender , Dave Bender Subject: [PATCH] omap-mcspi: When overriding SPI settings do not clobber status return value Date: Wed, 4 Mar 2015 11:35:41 -0500 Message-Id: <1425486941-10121-1-git-send-email-codehero@gmail.com> X-Mailer: git-send-email 1.7.8.6 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The call to omap2_mcspi_setup_transfer(spi, NULL) clobbers the previous status value, possibly masking hardware transfer errors. Instead record a separate status for this call. Give preference to reporting a hardware transfer error over any error returned by omap2_mcspi_setup_transfer() Signed-off-by: Dave Bender --- drivers/spi/spi-omap2-mcspi.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c index 4df8942..6a4bd08 100644 --- a/drivers/spi/spi-omap2-mcspi.c +++ b/drivers/spi/spi-omap2-mcspi.c @@ -1180,8 +1180,10 @@ static void omap2_mcspi_work(struct omap2_mcspi *mcspi, struct spi_message *m) } /* Restore defaults if they were overriden */ if (par_override) { + int status_transfer; par_override = 0; - status = omap2_mcspi_setup_transfer(spi, NULL); + status_transfer = omap2_mcspi_setup_transfer(spi, NULL); + status = status ? status : status_transfer; } if (cs_active) -- 1.7.8.6