From nobody Sat Jun 13 06:01:21 2026 Received: from mail-dl1-f67.google.com (mail-dl1-f67.google.com [74.125.82.67]) (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 5DFEE384244 for ; Sat, 9 May 2026 09:03:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.67 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778317422; cv=none; b=ftFLu2lTid5YSE1DUEmd7FB4puT+6MLUA7HAkpt8ADH/43q2vxGneeCOBx6zm3+FU1pasZWQqJRY4dRfCPkB5I6c21EGGkmxkKIvVnP06c1+XXNtgKQTeDG1N4WPmtaET1sZJTY9qe1MfCgA9f3xqKZDc90SygFT6dIv5eQEfuc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778317422; c=relaxed/simple; bh=byOtteQFJj7wH2m03b47SoF27/lgF6IuUDHq8SOBtxQ=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=u/gnkjBcrSr+NF9kXVTxQvw16lpa11p6GGqZTSq4SiGTu9j7Jqi09c7xTXHS2IcDSA453b2xMABHKTkByNJIeK5DuQLOXWcDlYaS5/S1ykHk6vvseYZqQCdtzADzlHWKdOooBAFmsXjdJjNzp6zKGileNi190gyQmsG+yqwpl0g= 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=nnQnep4T; arc=none smtp.client-ip=74.125.82.67 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="nnQnep4T" Received: by mail-dl1-f67.google.com with SMTP id a92af1059eb24-12dca45ca21so4026444c88.1 for ; Sat, 09 May 2026 02:03:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778317420; x=1778922220; 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=ng77Sr+Aq2eTeCc4veSUx5zjPL7nDApX4AemJNimqX8=; b=nnQnep4TrtHGzH33K6VC6bt0QwBPhNF31syK4cezXEGgmrg7WofEkOz0iQKSMlltmR 2Zn4tlgodUFFlJv3+Bn4L7x6H3+kVxfo3maZKXdj3cgcXp2ZHfu46/atuvVy8m8DLRwN tNwcsoRnsx8abcTNhlJf2oO5VB4TQ06RDzMK0z0jYWrnI+Y5ZPZbRoP6JKQ0QXOJYguY CrA7VQgrxsgxS9rikDQfXDr7xEghMc1GkWHvMnNnU2U0KkcOK2wmQYVkxsmnQ/4WlznG A1hOU54wLmBjdumVq3R2Qphgk7wyryMWGArcHNSA5vRJFxO2hYxwkLshCZkKBldCwNtv u9NA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778317420; x=1778922220; 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=ng77Sr+Aq2eTeCc4veSUx5zjPL7nDApX4AemJNimqX8=; b=YVkvq4agi8oHbcJqBOFClXWlB2c2dnIZCVAOUJIkroW6vpZ+7uge6QhVk5U9FguMxC bhelGqFvEK1Rep9c0LzTl417PRU0PAIFVGzrtbpcWsTuaYq2bLFixs6O/gKQ89vMKrVP Gp/UsjutCdSfrsrLrAPfrUTgs7ECJbVmpDnQcJsAgh9nITIYHBMTXj87A/ftJG01Y3tU QO4dCAkp0qDvbuz0W/uUvo6jHNlSimey1sgH97ibPf00ExVS5zoXDFQFR6MfdKjTe6k3 WuF+HXtbOO98wAYYxXIsQnv6wmydyl8sW3bHGmDEzijdy8GQD34/1u3lOe2yfdzCgg4A xchg== X-Forwarded-Encrypted: i=1; AFNElJ+mfN1tn5ZwVYXR55uxpkj80ujI3SKnPc8uZx+PF3/sIVkvR09BAQAKZ1/HxH00sxqeutxr8hy1WNgeIP0=@vger.kernel.org X-Gm-Message-State: AOJu0YxojWgFXk03dOCmC1YfzBuKrDUkSFxf4jlB/9Pn/S+00upWLM8u Zz5x37zbL1wbgKMqPQRtwRCGQYpccCh3cTCw0Uemacb1TlNoSsLIjYrg X-Gm-Gg: Acq92OGcW2LzHdd1/eLu8iZlkKF3GicrwQH84GM+fdo2Uz6Xpx0OxurtNP1W6sbJatH 0erceXe5ObZ2411D7HwDFSGR3JT+fT8sOG91xSgvWHJwLq442OR8YO+pL5PH1J1Onl6RtI0VlKc rs8Fiuou2gT3RmOkTOjipdonqNAA+PgOWUudBhs+Xd6za9KVsG774D7GoYrdk0/P90rHPDj5Byh jNUCMYJp78VdUfLvXs1uL1aWjWmb669WqORXppftYva/4Ut66gEQtDppyXfHaInLmu3y0GwzY8M VinSleBdO2C58ZBGexj5lFRQOqZ3sZblMhIwehlCFGvf97glrepHoktnAKnECn09e40Ww44Pozv PamDO8DjoIdqil2/CQR7AeBMrUHevVLkCdXblPPyKISa5Kvw2gH/yXXAsruZt36CeQV4LqIgXIf QFErTviZEosjMziN356t0XerUImAV1LTt9jFbUh0GXLCvZej2ainoP3VI= X-Received: by 2002:a05:7022:672a:b0:128:bae0:e043 with SMTP id a92af1059eb24-1318eb4a66bmr7629992c88.31.1778317420273; Sat, 09 May 2026 02:03:40 -0700 (PDT) Received: from localhost.localdomain ([76.32.119.210]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13278758e0csm6116676c88.12.2026.05.09.02.03.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 May 2026 02:03:39 -0700 (PDT) From: Hungyu Lin To: linux-iio@vger.kernel.org, Jonathan Cameron Cc: Lars-Peter Clausen , Michael Hennerich , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, Hungyu Lin Subject: [PATCH v2] staging: iio: addac: adt7316: check SPI write errors in probe Date: Sat, 9 May 2026 09:03:20 +0000 Message-Id: <20260509090320.85481-1-dennylin0707@gmail.com> X-Mailer: git-send-email 2.34.1 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" The probe function issues three SPI writes to switch the device from the default I2C protocol to SPI protocol, but ignores their return values. Switch the repeated SPI writes to a loop and return an error if any of them fail, as failing to switch the protocol should abort the probe. Signed-off-by: Hungyu Lin --- Changes in v2: - Return error instead of just warning - Clarify that repeated SPI writes are converted to a loop --- drivers/staging/iio/addac/adt7316-spi.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/staging/iio/addac/adt7316-spi.c b/drivers/staging/iio/= addac/adt7316-spi.c index f91325d11394..056a4505bf30 100644 --- a/drivers/staging/iio/addac/adt7316-spi.c +++ b/drivers/staging/iio/addac/adt7316-spi.c @@ -98,6 +98,7 @@ static int adt7316_spi_probe(struct spi_device *spi_dev) .multi_read =3D adt7316_spi_multi_read, .multi_write =3D adt7316_spi_multi_write, }; + int i, ret; =20 /* don't exceed max specified SPI CLK frequency */ if (spi_dev->max_speed_hz > ADT7316_SPI_MAX_FREQ_HZ) { @@ -107,9 +108,11 @@ static int adt7316_spi_probe(struct spi_device *spi_de= v) } =20 /* switch from default I2C protocol to SPI protocol */ - adt7316_spi_write(spi_dev, 0, 0); - adt7316_spi_write(spi_dev, 0, 0); - adt7316_spi_write(spi_dev, 0, 0); + for (i =3D 0; i < 3; i++) { + ret =3D adt7316_spi_write(spi_dev, 0, 0); + if (ret) + return ret; + } =20 return adt7316_probe(&spi_dev->dev, &bus, spi_dev->modalias); } --=20 2.34.1