From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ot1-f51.google.com (mail-ot1-f51.google.com [209.85.210.51]) (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 9BE9033F5AB for ; Sun, 17 May 2026 17:07:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779037659; cv=none; b=mQoi3cdm3eiMK42fGG5azG4sAnAn4Ya55SW0sH2qvqHTxglAWU7dg7Pe8sGL1bfCUT9oVtrvc6YL9yzb6Z3hAHvAgViQMhatY+LuQ2g77FoU6ADy0LuDtwVkH/jIfLgezqrkeZk0qW5CWHjT5g1ukvcSlhT1/DYciFn4jKCrPZI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779037659; c=relaxed/simple; bh=B+gnwHBAfIoCpLNTcKZqdCPscmLQ/yi14UzJTcxzsQc=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=JZjMHRFKwSaoViWoeQrOeWl8dai6J19M90301VhBaR/amITL9TiEPqc5A56fGF617czhnyzTsG9ESlhV3bpKPZ7tKvlVzKxqecpz5VNPamJTGqUekxP238CZzgv640beW4JzXz4b0OdBU8BULOcbJKguiQIPgA2h4fkC8tUyuQI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20251104.gappssmtp.com header.i=@baylibre-com.20251104.gappssmtp.com header.b=mFmthNfo; arc=none smtp.client-ip=209.85.210.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20251104.gappssmtp.com header.i=@baylibre-com.20251104.gappssmtp.com header.b="mFmthNfo" Received: by mail-ot1-f51.google.com with SMTP id 46e09a7af769-7dbccf6a23dso1391631a34.2 for ; Sun, 17 May 2026 10:07:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1779037655; x=1779642455; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=hrOnBFPP1Ld1TfCVTVS9lLZmmZK95raO/NO3JK/+lUU=; b=mFmthNfohzVMZ/SaWMnJUpMphLArtL698X24lYrEPvcrhq9//Pfwe7lBnuwY1j4Ljy 4/3abvjznNBNAXb6Tei/ErnSjbJUkmh+EfapJfxWpzr7BDnpWn5YJ4Qh8+uf2OadvaCK H9ro9NzH10bqO0CNUH7L8JLnRcj8H7utZUZpLz0rPJ2+DeyQD4bMmYZ3vreJAKMWsqyo HH0BEuz+IbQ4PCW/FgRA/FjpzyY2yoE5Eyxw3qyK9LUcW0nZ8Eky4YzwQq0P/m8iJcv0 REQMoDSE9jd3dnaz8dkbBehKoIMY+Lh3F4XDXMb3acXjyAmnaDRtOxB1EiHl+qfG17be u7mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779037655; x=1779642455; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=hrOnBFPP1Ld1TfCVTVS9lLZmmZK95raO/NO3JK/+lUU=; b=mt702Kmwg6IZJ9BCw1m41K0KHZFn2Luy16cI1rVwfyHElbISzLmI75OLKzFX6AsHzF kfuTcT0X/zI3SKKGvQATAVy+saHbsUxgULtCpjiX/5o1kSTARnD4yfU/rI1RcAjdWWVb ozeA8Vn2j5Xz+0AMNNRCYJRbubPfwDrQrIkcdJrg5du4xK4HwMprNV7G8B8vwvB1DWKh ct4Q+1ijACc3NaYRp8T+S2NX4Xz/RLPHpmCqXlWhNjcIPeU2aBiCUOCl1C4FBknp3hA4 XekNh6zmTFVVkKKH0Uyec0LGRrQ7GU1JSScvErP7VeVz2KZDve86HZglgN2WaaXvfW/u yVVA== X-Forwarded-Encrypted: i=1; AFNElJ9e7u3fadbyod3MJgP06g9grGAJGuPCbiHwdrxanucJrfET0jDrwzq95sfvsFG5ptn4aqlTzIbGyZeJWZo=@vger.kernel.org X-Gm-Message-State: AOJu0YwtBkLqKF/oKI6MHLIHf8FXgrdekapYP/A+2VfBhLMXW4q9zWJD pSrCxMFfKQsuXgEj0dzBLa4HBG4jaHzA6GBLQaGOPVV8CRazDkEceWfaPtfzzH/wqCg= X-Gm-Gg: Acq92OHiZF4EqfWp0G7lcSpjkUr4Xx8m2Mp93TmHGYvOwaKLOFvlTcx3tL/55l9QA/B 6WbiHmYktbWawHI3BDkaaCAhnf0nEFGkfiwKAMbGtqucLLYlqdMeNQIo6r8ITCm5WtB0WVG0d1+ /sENRFqKs+D2Gs1GMPSJOkcSy8igcxxjwS8riKX6ov+maNcrpAl4l57fudK8JOld3yHUi7rvVgL RkO4j6Oh6Pje/wfqbydNwnx6nKUJ2geAhVxpNX7Bc1FwCzceY8h2FtoarWiujipXQETNDwn0140 pRWZOxplc82ohjDsAUTSTt+wPgeZj7+8NeVH2QA5UVJE1X/2hqNpX/aJrPbhlJ2jTuaW//oZdNI ug2drwrt5szTryarfpk2w0o8GodFfHA4BSGPb8Al/4i2B6w9CPUXAFFzWmoQLQgcSRqfTfIQ2Xp TpfQQy9butvZmvxCH8xJfPnj+buihPzbbA1vmA43LQ0w3UNLYMpqDKH6cNnrGtb/HcyV1HxDE= X-Received: by 2002:a05:6830:710e:b0:7d9:71fa:3079 with SMTP id 46e09a7af769-7e4f2a13f65mr8565931a34.10.1779037655575; Sun, 17 May 2026 10:07:35 -0700 (PDT) Received: from ?IPV6:2600:8803:e7e4:500:7a4b:ddf0:f61:f58d? ([2600:8803:e7e4:500:7a4b:ddf0:f61:f58d]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7e55bc111d6sm6311763a34.19.2026.05.17.10.07.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 17 May 2026 10:07:33 -0700 (PDT) Message-ID: <57d1d577-39fc-47bc-b01e-a2cc1d2ebdbd@baylibre.com> Date: Sun, 17 May 2026 12:07:33 -0500 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] iio: adc: nxp-sar-adc: notify trigger on channel read error in buffer ISR To: Stepan Ionichev , jic23@kernel.org Cc: daniel.lezcano@linaro.org, nuno.sa@analog.com, andy@kernel.org, gregkh@linuxfoundation.org, hcazarim@yahoo.com, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org References: <20260517162346.189-1-sozdayvek@gmail.com> Content-Language: en-US From: David Lechner In-Reply-To: <20260517162346.189-1-sozdayvek@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 5/17/26 11:23 AM, Stepan Ionichev wrote: > nxp_sar_adc_isr_buffer() bails on the first channel-read failure > without calling iio_trigger_notify_done(), so a single I/O error > leaves the trigger's use_count stuck and the buffer flow wedged > until rebind. > > Route the error exit through a 'done:' label that always calls > iio_trigger_notify_done(). > > Fixes: 4434072a893e ("iio: adc: Add the NXP SAR ADC support for the s32g2/3 platforms") > Cc: stable@vger.kernel.org > Signed-off-by: Stepan Ionichev > --- > drivers/iio/adc/nxp-sar-adc.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/iio/adc/nxp-sar-adc.c b/drivers/iio/adc/nxp-sar-adc.c > index 9d9f2c76b..ed004812c 100644 > --- a/drivers/iio/adc/nxp-sar-adc.c > +++ b/drivers/iio/adc/nxp-sar-adc.c > @@ -341,7 +341,7 @@ static void nxp_sar_adc_isr_buffer(struct iio_dev *indio_dev) > ret = nxp_sar_adc_read_data(info, info->buffered_chan[i]); > if (ret < 0) { > nxp_sar_adc_read_notify(info); > - return; > + goto done; > } > > info->buffer[i] = ret; > @@ -352,6 +352,7 @@ static void nxp_sar_adc_isr_buffer(struct iio_dev *indio_dev) > iio_push_to_buffers_with_ts(indio_dev, info->buffer, sizeof(info->buffer), > iio_get_time_ns(indio_dev)); > > +done: > iio_trigger_notify_done(indio_dev->trig); > } > This is fine. Although we are already duplicating the call to nxp_sar_adc_read_notify(). So could be OK to just call iio_trigger_notify_done() and return too. Let's see if anyone else has an opinion.