Received: by 2002:a17:90a:88:0:0:0:0 with SMTP id a8csp62361pja; Fri, 22 Nov 2019 03:29:11 -0800 (PST) X-Google-Smtp-Source: APXvYqwa0Bu1J4dhUsSZhw10YTe4BhBTY7BtklqVzCli4RJgWcPDhVkifRTxL699akmgGGeHDP1V X-Received: by 2002:a17:906:1cc7:: with SMTP id i7mr20726269ejh.172.1574422151333; Fri, 22 Nov 2019 03:29:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574422151; cv=none; d=google.com; s=arc-20160816; b=vfyVu7iZUCEplOrjvRfmyUgA9UzBKsUefHa2bZWvJIscDDbENRWtnNKw/hkArWirNv 6ORSthA+D1nGw8cMOTBfdUpKDKFXj7QAoLj6doWqBhnqjSmIJX5Rs3olU057pzJIq9fH 1RrhNcC6rEQec+VDEZ3SO3UZEgKgQgen+cFbfVv6U0LquLouppE5mWTqNRt60HGT26Tl BPWLAI+T4c6xut3O7ngwdPF2ZIamKqVwO9ZNFIWk3fZHZ9nXwJuyUrE5oQ6QLeL69ZQs durCr39kPY4Gv7UKde3/x/RYBoxpdIhnZ2E9+v8KdEFxEH/f/Sp5YeoiTbUz8vgCv40v pmqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=9GvVBPNf2z58XCeyfArdc/GrOJ9GttOnqv/8KSBfZ4E=; b=xxAV+a482AxMVBbe3nas87LQJpWMt225+hz+qFIty7J5R74fw2/JrKCFszzBOt6/DU Wf1PbSh6d87M7eBBLU4smVp9Kd2qdo+OnBcPsc/5orl/9PBHT0zOx+VqbY3cx4uovZ2b dRhhBd+HJumhkk9yI8nxkhZ72unls+Q13BORvQRc9Lh8hKRZ9pyqYZ3UwdnbhSOYbjtZ ub6m4ChK8llOnnACzeLO7Ct7pcD97X/D+L5sM7sk+ipQR1Z0utxeaW2TP1O5N78Pzwju XgmBYgrrOcPBKsnDPC+t6r5Kv2jBZdjz2x+fJkIKUfj9/BBeHRQpCcfGSVUekpZWjU3V X+GQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=t4msuKa1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s12si3918024eja.47.2019.11.22.03.28.41; Fri, 22 Nov 2019 03:29:11 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=t4msuKa1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727444AbfKVKjU (ORCPT + 99 others); Fri, 22 Nov 2019 05:39:20 -0500 Received: from mail.kernel.org ([198.145.29.99]:42344 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728754AbfKVKjQ (ORCPT ); Fri, 22 Nov 2019 05:39:16 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C1DB020707; Fri, 22 Nov 2019 10:39:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574419156; bh=WiBksml3Di1WYFYiOQH1mulf+M8x8gaNtPvMG683ctI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=t4msuKa1iUMJGUv+CxHUEuGcKHA0xpLqCUZee7x88PN0wtOUixGHSXtpe6K56OcGW 8kAA3iYzhMxam6RfaMHIWho74iDD8x4JKWhjuPG8BTY9X36tHhi1gjUEk8L2X83AWa FsbUR7B8ocgRCmos1S2hgfsekr1ffGFLWRdFdjkY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Marcus Folkesson , Jonathan Cameron , Sasha Levin Subject: [PATCH 4.9 017/222] iio: dac: mcp4922: fix error handling in mcp4922_write_raw Date: Fri, 22 Nov 2019 11:25:57 +0100 Message-Id: <20191122100835.654672541@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191122100830.874290814@linuxfoundation.org> References: <20191122100830.874290814@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Marcus Folkesson [ Upstream commit 0833627fc3f757a0dca11e2a9c46c96335a900ee ] Do not try to write negative values and make sure that the write goes well. Signed-off-by: Marcus Folkesson Signed-off-by: Jonathan Cameron Signed-off-by: Sasha Levin --- drivers/iio/dac/mcp4922.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/iio/dac/mcp4922.c b/drivers/iio/dac/mcp4922.c index 3854d201a5d6c..68dd0be1ac076 100644 --- a/drivers/iio/dac/mcp4922.c +++ b/drivers/iio/dac/mcp4922.c @@ -94,17 +94,22 @@ static int mcp4922_write_raw(struct iio_dev *indio_dev, long mask) { struct mcp4922_state *state = iio_priv(indio_dev); + int ret; if (val2 != 0) return -EINVAL; switch (mask) { case IIO_CHAN_INFO_RAW: - if (val > GENMASK(chan->scan_type.realbits-1, 0)) + if (val < 0 || val > GENMASK(chan->scan_type.realbits - 1, 0)) return -EINVAL; val <<= chan->scan_type.shift; - state->value[chan->channel] = val; - return mcp4922_spi_write(state, chan->channel, val); + + ret = mcp4922_spi_write(state, chan->channel, val); + if (!ret) + state->value[chan->channel] = val; + return ret; + default: return -EINVAL; } -- 2.20.1