From nobody Fri Jun 12 11:08:12 2026 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.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 6DD243E5595 for ; Fri, 15 May 2026 13:31:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778851919; cv=none; b=r9u6rhg2XXAeolwoziS5N8o8+MDTj3jmnL/yAynuJLrgh1ftSllF0mOqzcAjzIyqgi1BmLsP6gYEzJ25gy6T90xtrLHhIgXAw14n5fyNrWIh5e6qKAkM7guw9BmHFIZMDscXrOurXbN4iUKh8/x7CGm39i48Bgb0uYPobB5Og4A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778851919; c=relaxed/simple; bh=4UwNBQ954tlo1heBryq47THbfT0ZWBaGgve8Deniots=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=EehSOv0kyvbKGgiLTnFN23ReKDM/W8+1wgcaeVnRy8QBA9cNCaIaUYjS4j2HyyWq/MgsnMMqPL+4JcT5cxDZGhekdJWWkWLFu3FRRCLYzmja3b7FTeJyJUZTp1nPZcU7PIiIALW8M76o7msLEZVKNRaB/eo+d/DNhtwspPPWZ3Q= 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=q7Edpqh0; arc=none smtp.client-ip=209.85.221.51 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="q7Edpqh0" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-43d7828221bso554411f8f.3 for ; Fri, 15 May 2026 06:31:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778851917; x=1779456717; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=t/hO8MbvR1GGKUUZivADCNX4JORCJl2XljSKSn+y1jU=; b=q7Edpqh0baEQ4ZXF0X0iExVR7VPjVC8dHrWt8QHttwX3KQQzRHoflBXxkgHsiYUbTp GTc1bB+4YyEUOi41URH5m4b9AnRcx2QRipleitHe0w+BLFy2zG9+pdDazFtoPH9C6X72 bXbIDwH8fDjfpukwzCH2kxOky+pPfiZxteUL91+ryW9qMZe4zjK1vYMGSJaXlwd+OjTP HnyhBfWkDO7sKTIE4n00zrcYPD3ci/Z5l79EET67aIKK0xR0DCU9Xn+FPDSATgu7FBM/ /qNwvpFDQZ2IUbA9SuHOStz3AREvbX0+4UylOM3zmNBu8mbxNJI516UTelj2IdItAfmd edqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778851917; x=1779456717; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=t/hO8MbvR1GGKUUZivADCNX4JORCJl2XljSKSn+y1jU=; b=QtIyBgUIIncPkO/VzXamsB43eaC37uCXOxFRKBcWEp1cq+9XGRy77Nox6nouJcICpb kjeq1DwNv+4wCCYJO0tnOxq9ObKCS6Ge6t6Xy2tFr8YTr8gmIahVsZtkL9eOgy7nkFQA ZrQyEUmMGl7+uyL8bm15AlPC6ZD+GZTAYSG50/0ZYNDmdMInhLolvdu/1QN3hItkKYuo 3TVLqz7G2nu8USdO+Kc4Zs8Xht+sRK6/yNwzlikjj2hqBdGIpf68ADD+ONjiYxihMWUe dy/Dr9PCfxsyaczzu9muF6lBmrPMz015oq6dhTSgutc+zv+SBNlX950ef0PVrHMacVrl 5bdw== X-Forwarded-Encrypted: i=1; AFNElJ/Rf5B5TxzmOSKoreBZmWx8hUOknWO0cmi/3XxJclTairZk7fU1AsHKyKGEvWbn5VckoHZN5qAJDzYLvmo=@vger.kernel.org X-Gm-Message-State: AOJu0YwObS3oKdnA8h6EcwUKNmd2hqI1p2/cpJLyNrLYPBUVG+Z/IXP/ Hf1euKV1QyIrfaoOxSFVzkP68l4d+v1yl+weARYZ73YRrsoRcWc6FaGi X-Gm-Gg: Acq92OGmqeDx1aRu0nYyX86rmF4196BxD0st9VozT8muKYxQfnPHVET3bbiV65JgMy7 BPHYgvrrYF/CsU2NdC6nLUwZxVpKFPOA6tHB4sqjO4v12Htas/f+xONMZWzkLgrJA+IPUiXBx7H VQK1OljfitJOzUTZk2lV3aAHA8DkzjteYeZ0b+go9IR3GUe14xyAsBJGvHvwuIE1jzotRoRcIC7 Ip6V4/YaKijEgvWX+BuQfusyZXQ04Bm5cleOkifcGXLC1aSOi5OQbwTne72vLgkN/LxTw8juDxz scGK0hS0nnVrJ8kkG82Ih+/gCE5e6mHXQGg5psvOMmCuDH9o2l6gA8pm1UulPI3Du5guPxDPxGu pwIkLX2oQ05lwdvKiLne9pI9Dr0G1Qt4EsN9zkDoUPlQziFu3KutjSbwAgPom510XO9+rGfbqnE eu15hAgB6y1mNDxpesKZCpORk8J7nmvzM4oOJIvCQitASe X-Received: by 2002:a05:6000:4683:b0:45c:e615:56cc with SMTP id ffacd0b85a97d-45e5c5edef7mr1708341f8f.7.1778851916671; Fri, 15 May 2026 06:31:56 -0700 (PDT) Received: from localhost.localdomain ([82.215.118.79]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45da0fe248dsm14266021f8f.30.2026.05.15.06.31.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 06:31:56 -0700 (PDT) From: Stepan Ionichev To: jic23@kernel.org Cc: lars@metafoo.de, Michael.Hennerich@analog.com, dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, sozdayvek@gmail.com Subject: [PATCH] iio: resolver: ad2s1210: notify trigger and clear state on fault read error Date: Fri, 15 May 2026 18:31:38 +0500 Message-Id: <20260515133138.32319-1-sozdayvek@gmail.com> X-Mailer: git-send-email 2.33.0.windows.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" ad2s1210_trigger_handler() walks several scan-mask branches and uses "goto error_ret" to land on the iio_trigger_notify_done() teardown at the bottom of the function for every I/O error -- except the MOD_CONFIG fault-register read, which uses a bare "return ret": if (st->fixed_mode =3D=3D MOD_CONFIG) { unsigned int reg_val; ret =3D regmap_read(st->regmap, AD2S1210_REG_FAULT, ®_val); if (ret < 0) return ret; ... } Two problems on that path: - the handler returns a negative errno where the prototype expects an irqreturn_t (IRQ_HANDLED / IRQ_NONE), so the caller in the IIO core sees a value outside the enum; - iio_trigger_notify_done() is skipped, leaving the trigger busy-flag set. A single transient SPI/regmap error on the fault read then wedges the trigger so subsequent samples are dropped until the consumer is detached. Convert the error path to "goto error_ret" so the failure path goes through the same notify_done() teardown as every other error in the handler. Fixes: f9b9ff95be8c ("iio: resolver: ad2s1210: add support for adi,fixed-mo= de") Signed-off-by: Stepan Ionichev Reviewed-by: David Lechner --- drivers/iio/resolver/ad2s1210.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iio/resolver/ad2s1210.c b/drivers/iio/resolver/ad2s121= 0.c index 774728c80..1be19fe8a 100644 --- a/drivers/iio/resolver/ad2s1210.c +++ b/drivers/iio/resolver/ad2s1210.c @@ -1334,7 +1334,7 @@ static irqreturn_t ad2s1210_trigger_handler(int irq, = void *p) =20 ret =3D regmap_read(st->regmap, AD2S1210_REG_FAULT, ®_val); if (ret < 0) - return ret; + goto error_ret; =20 st->sample.fault =3D reg_val; } --=20 2.43.0