From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5403D35DA67 for ; Fri, 19 Jun 2026 08:20:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781857212; cv=none; b=NKhBLJCrDJsIClUDzp0gktvxSs1txHROP/rvW/8VuCWpGvFsce74ZS2om3SI8uPg7zvbfr3S3GIebc88/H5KKcRrNgkBlMgi5ryLKQm9MVUhE1Cvom52Fg5QKCDyJWjEG47AMfBnv74Iofiogt2qpgD/uMtLePDkZlluDcLgazE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781857212; c=relaxed/simple; bh=gCgGhZxcCX97vGGYXaF2eIEVWkTppYl2ft7EmQaoBsE=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=moLCcLyY+u0Ppq4/s3VbZYJjj5m5RXvo95+WXGZGvmkO1DESiDwKmL1BhfQqumBu0kSKgPjhXR8HO/aytm3DZMv8IBcSqFmqowtWL/w4MidNWeXKDHuDMwUt/FBiUE3KRxJhvQPQvPe40HVIAH0Rt24pVzAIZ2sVNP6cMumeWY8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Y9vW1DXC; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Y9vW1DXC" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-490b9318997so12438975e9.2 for ; Fri, 19 Jun 2026 01:20:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781857208; x=1782462008; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=qndACge8E2dwyk77phkXRZGLcAuoAbBd4/2CqjC4bbw=; b=Y9vW1DXC0L7v+2wYo2KwQnfkCrU7jH2a4O4J1h4RsIGCbQ7hi/CHpBAWTXHdtN7jmM sDZDvwpD12nNcovB49fP4xnWWwxzkaeNf94Ch4R/iQxRCru8qS/lw3HdvLZx9UDYf/jh X56XAyTCjRAzWW6SjN7Jc2Lv7NEXAagYV1RR7jdiX3wwRGB6mamU3/6idjoFhMBqWOhX XHlphwMflxpaOx1zsBqMFeHXJPFHl1XKqAefurzmUCOQ9SApxkxbzngawNj5XyjVhPRR JyaDXJLJnxiJ4ML2W/xOJR/agH+FhEWPg2x93m84XL9oce1os0NMIFPyvj/qY+t0WfpL HsIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781857208; x=1782462008; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=qndACge8E2dwyk77phkXRZGLcAuoAbBd4/2CqjC4bbw=; b=cvulBh4zUog9JbqmMeADUmG3z4gMRu5W5FYKAMg/ZEAJ3d8ac22nqphgs0kmFYMTBq 2OdkjxzvJJ8XPh1CINGIxPLfz8bv8J7LoFR2ZySK7/u6xtbfA9CHgxsvNZuJm39Ae4io Uj6znAYHziBdTjRQg1ZAy6j8Ms99T+5vVofE6B+SzJH77VDFL5CiabQRO4og4UFy1/bc oU1CJJ7201MkQCLiFkTi3FEHhRYCGXnLGCIBj1q07oj/UY1Wq42/1eIvskpHOJMDtt6e Yh1PITNYYOI78SysZQOSi3i0DeMNAmSQzLAy9slc5TV32M77zckwdqSa1elaFEtspDwS qj6A== X-Forwarded-Encrypted: i=1; AFNElJ/x/wqC/ZHTD1U6b9D9kh34klhgnGxsiMVdczDfL/4MmRCRT056BPdwLtMv0SSWYM8pV1MLeyeaq9vQbII=@vger.kernel.org X-Gm-Message-State: AOJu0Yw0xXV1BScWnaVuWszc8t/Na3z8bCxtDrMjPviUeibDYc90Ei/O QTUs1JS4lb/XKq77WGbpBFMVb9F6X0XKpcRhfCs23xUHXD5Asrf0CjVG67WIgQ== X-Gm-Gg: AfdE7ckpaKAj/udWPWLR1kpjuKKEj+UNxuBqKNn4t4cXAeuGf1LlNXrbq8UjMqtF2ap K0HSiAPHbljJ7xcANg+qC2I3nJu3bNzZvdcPII3nwskQScIXaVFiriXFTyDr52m/btiA0N0UTfz KOJngERdnOOMupV7OgRnR1LJXLwn4EotkKojB7dOiS+coHiGMOrbV4KKoR4r7d5lqzOTvhfLAts 3bMqc2gUz2Tiq/W8Wp+zMOacfJBGmbHAEig9dhsdpLpsAuVckaloeFl6Wgc2qBYVM1w3RWZBIxs n1ycjcqoB42u0rvzDMLE38lHOtjGMFMxIXyz1QYk/ypREmB3NW7AXs2TAqZOhS8tGO/RhiGnab+ 79zS2x5LPx8Irf1c9kcMY8KwWH8T9ueUw9UnWnltjRQI/cRwEA+xm+k00ZOekCxdr/Y1wpq4NN/ n+odXVYx1FBKaEY6eMe6PZeqdcA5MxGmrlTvNZHCmHW+ENTjkfJKBhCsW/QBX/E6c7XSQCOxZZq cKCTvaGyRJw9rLTDTK6HlwT343KDl8n0E3jyjMboDJTtjcvmyUgixELcqnFS5zwDN6mTClRL+rm OHmPdzzg/URzg5s48qxomh05vsynWzW0FsF+woi+8WWNjO1fTNjQpzo= X-Received: by 2002:a05:600c:4fd4:b0:490:a296:fdad with SMTP id 5b1f17b1804b1-4923f56c05cmr42785305e9.24.1781857207177; Fri, 19 Jun 2026 01:20:07 -0700 (PDT) Received: from localhost (90-182-112-124.rcp.o2.cz. [90.182.112.124]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-46508a04c15sm6087226f8f.3.2026.06.19.01.20.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Jun 2026 01:20:06 -0700 (PDT) Date: Fri, 19 Jun 2026 10:20:06 +0200 From: Joshua Crofts To: Paul Geurts Cc: , , , , , , Subject: Re: [PATCH] ti-ads7138: Disable STATS_EN bit while reading conversion results Message-ID: <20260619102006.000007f2@gmail.com> In-Reply-To: <20260619075646.4100193-1-paul.geurts@prodrive-technologies.com> References: <20260619075646.4100193-1-paul.geurts@prodrive-technologies.com> X-Mailer: Claws Mail 4.4.0 (GTK 3.24.51; x86_64-w64-mingw32) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Fri, 19 Jun 2026 09:56:46 +0200 Paul Geurts wrote: > The device might update channel data while it's read by the host, > providing a data race. Disable the update of the channel stats before > reading the values. > > Signed-off-by: Paul Geurts > Fixes: 93a39542d3c3 ("iio: adc: Add driver for ADS7128 / ADS7138") > --- Don't forget to add the iio: prefix to the subject/commit title. > switch (mask) { > case IIO_CHAN_INFO_RAW: > + /* Disable statistics update so the value is not updated mid read */ > + ret = ads7138_i2c_clear_bit(data->client, ADS7138_REG_GENERAL_CFG, > + ADS7138_GENERAL_CFG_STATS_EN); You're not checking the value of ret here :( > ret = ads7138_i2c_read_block(data->client, > ADS7138_REG_RECENT_LSB_CH(chan->channel), > values, ARRAY_SIZE(values)); Additionally, since you've added a i2c_set_bit function below, you're not checking the return value of the i2c_read_block function. Instead of returning the return value if an error occurs, the values variable will remain uninitialized, causing a kernel stack leak. > + /* Enable statistics update after read */ > + ret = ads7138_i2c_set_bit(data->client, ADS7138_REG_GENERAL_CFG, > + ADS7138_GENERAL_CFG_STATS_EN); > if (ret) > return ret; > -- Kind regards CJD