From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-yw1-f172.google.com (mail-yw1-f172.google.com [209.85.128.172]) (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 E157964 for ; Thu, 19 Feb 2026 19:32:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771529559; cv=none; b=Z5xA0nJ+prpHJvxjd9C8zmAF2wcIAHXL5ARlA1UHx+iqbpvn6BboAwznJPKiZAt9SxidkpKSfiWlSYvvhE9O5l0+AEXLI0CVMEuM7avdZfHLNhlaOYNDHF0FrYrKGNZg+TOG3buDdwdh/+0WldSnF6d4LTnd+zeCS0EgQdW42Kc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771529559; c=relaxed/simple; bh=XAfvJ4njJqyaWiBgyk54k3PGrRT6JzGHA113c5BB780=; h=Mime-Version:Content-Type:Date:Message-Id:Cc:Subject:From:To: References:In-Reply-To; b=YUiuWjCiLqyz8DURaAZNBX7aAY/DvvbOpJw5rB1SZWms9C+Xe2xo5R7bzN4/mKJjoK6zFYWUyyJXZ3t/rnr83hmDQibaffIaC3VmXDkDL3aA71mOXOUSruyfXSvvD/+Uc3rq3LMG/hJYYZgq6vP6UobL1pOWqhCX0rfKrsoydbM= 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=fAVY4Z8A; arc=none smtp.client-ip=209.85.128.172 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="fAVY4Z8A" Received: by mail-yw1-f172.google.com with SMTP id 00721157ae682-790884840baso11846137b3.0 for ; Thu, 19 Feb 2026 11:32:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1771529557; x=1772134357; darn=vger.kernel.org; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=wXJeILqeJfv+jeFAG6DjxJuKznKbbl1HxrY09L6YJYU=; b=fAVY4Z8AbDU7akY+don65nyzSjA2tt5s+mXg/sGWXWcXVtWJ0G/KRqKaKvwmwmZyBw 1ghV5dWlrhMvkrxn03Z6b0lmWiEgXbKVos8DxR5e7CuQWQFD5mIiyB021S/g7XjNygIs rpDglBrZ1DP2FVCE/VPldCgBpA1a6RHwnSIcEnQZe4XdGXU2YDRRokrQUSWrb4sxcQ+w URpOux8SSP4oA0Ny+HjiDepPSI//Nn1hmVfgHk2X0z4EBouynj9uIEH3NHlU5+lC30Wi d52ts6l5f3ZwEg+FHL4fKyQNHclaOkUcboQLNHlVqtvUFv9ntrFY0JN5ahIQKziERQnD QA2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771529557; x=1772134357; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=wXJeILqeJfv+jeFAG6DjxJuKznKbbl1HxrY09L6YJYU=; b=haOoGGvD+faDQ9l5A1PPlzL5ZcpOE/IVrmA0oEj8wHGmJtFDkC+snXDScTqg1T8TXm Ed0LMoBwr5Tcs7ecOWBDDEpv38BYfnLJ1vZEkneQJQQJD4TfTizkRW5nPTsVD6wNP9dQ 35VvsYWsfJmKKtm1L7+AHTekwjZ2oL1OSobECqarYjcbIbraclODcVuvXmEqOP9wshfB r9BqfIFp0LUKdzSRVH7YHkX8lL233ALdavxYQBTYHviW5EvSaLdWscik/NtrqfxaG/7z jaxdjwrSGlS9tuvduoGYjena/PTsa8Xwm6B9Yux8ydASJBRh1VleEB+VLw4e7kzt0yU2 TUCA== X-Forwarded-Encrypted: i=1; AJvYcCX5q/LvZVoiQ9coK8tuE9oOj64HH8fNaIFbaPkPb4D6IIjRnpdmu/sDv/wAIEKP8297XIIkU+4p+9V8CYY=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/MNO8+7HuaN5zF9PnnWKN8g6hUeahPzjLDBm5XWflaJZ0wYLI f4FrO482wWq1hkHcDlL2eH00ai+0DYT/UpV+883Ux487+CMgYPOARK7v X-Gm-Gg: AZuq6aJ0rwALedzR6rbeuVFjPDHXxNE2LmzLRWle9CKdwE5qnMcML6aAW9J8uHV6unR UR1lWrCclTgBjDc8ICPFlN/tr84u9BwgIzfma4nV0SAL0PsP8yA4ZprKcRkinJD5CbmVgw1jJEZ meE+3E9wpGsO4uyZcXaiHGQs+b5MbY2NiK1XUuIb1qeIpoB2spYf+GCTQBEFPuqwknhFGYszGLE Z4V6WAf+MpdfjYXqyEaMSNhtHhK27cMi9sCXFC7R0LxmOf1TanoXeLdvIqFHA4C1dL0vsv3qpT+ ZX2MOsPtBhGT5tS8lyUoUioP5fEMkGPg4kj77zjOE4NBd5SFYZ+hzE0uYr7Ce7aDB/0H3alhiYD yY+/McbECSrJ7wy9WAaj35uJvbywlE0nTu4bTXhxbHabYxK7wb9cE1w0C7ZN+JfLXnF9+iQwXb6 8hBanaiHzAVI0UNHTPHEjUSOxMhsA4LwlCy72MDMUrMQmn4+TE80Z9Q/AfLWOdl7Ic+ITLfVtqz Io/p0ZbnbZ3o2F89Rodh08wcRslWng5RJCVWJc9Ldi2oFJfUUI= X-Received: by 2002:a05:690c:102:b0:796:409d:859b with SMTP id 00721157ae682-797a0bf18b6mr148597877b3.2.1771529556765; Thu, 19 Feb 2026 11:32:36 -0800 (PST) Received: from localhost ([2601:7c0:c37c:4c00:e3a8:26f7:7e08:88e1]) by smtp.gmail.com with ESMTPSA id 00721157ae682-7966c254d5asm139396447b3.43.2026.02.19.11.32.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 19 Feb 2026 11:32:36 -0800 (PST) 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 Date: Thu, 19 Feb 2026 13:32:20 -0600 Message-Id: Cc: , , , , "Andy Shevchenko" Subject: Re: [PATCH v4 5/9] iio: light: gp2ap020a00f: Return directly from the switch cases From: "Ethan Tidmore" To: "Ethan Tidmore" , , X-Mailer: aerc 0.21.0-0-g5549850facc2 References: <20260218043728.609659-1-ethantidmore06@gmail.com> <20260218043728.609659-6-ethantidmore06@gmail.com> In-Reply-To: <20260218043728.609659-6-ethantidmore06@gmail.com> On Tue Feb 17, 2026 at 10:37 PM CST, Ethan Tidmore wrote: > From: Andy Shevchenko > > Return directly from the switch cases which makes code easier to follow. > In some cases convert pieces to the standard pattern which also unifies > it with the accepted kernel practices. > > By doing this, it appears to have fixed a preexisting bug, the variable > err in gp2ap020a00f_buffer_predisable() is only checked once for errors > after the for loop is finished. This could allow errors to be swallowed. > > Signed-off-by: Andy Shevchenko > Signed-off-by: Ethan Tidmore > --- > v4: > - Integrate Andy Shevchenko's cleanups. > > drivers/iio/light/gp2ap020a00f.c | 96 ++++++++++++-------------------- > 1 file changed, 37 insertions(+), 59 deletions(-) ... > > @@ -1366,7 +1344,7 @@ static const struct iio_info gp2ap020a00f_info =3D = { > static int gp2ap020a00f_buffer_postenable(struct iio_dev *indio_dev) > { > struct gp2ap020a00f_data *data =3D iio_priv(indio_dev); > - int i, err =3D 0; > + int i, err; > =20 > guard(mutex)(&data->lock); > =20 > @@ -1400,15 +1378,15 @@ static int gp2ap020a00f_buffer_postenable(struct = iio_dev *indio_dev) > =20 > data->buffer =3D kmalloc(indio_dev->scan_bytes, GFP_KERNEL); > if (!data->buffer) > - err =3D -ENOMEM; > + return -ENOMEM; > =20 > - return err; > + return 0; > } > =20 Looking over the code again it looks like=20 gp2ap020a00f_buffer_postenable() contains the same bug you mentioned where the error check should have been inside of the loop? iio_for_each_active_channel(indio_dev, i) { switch (i) { case GP2AP020A00F_SCAN_MODE_LIGHT_CLEAR: err =3D gp2ap020a00f_exec_cmd(data, GP2AP020A00F_CMD_TRIGGER_CLEAR_EN); break; case GP2AP020A00F_SCAN_MODE_LIGHT_IR: err =3D gp2ap020a00f_exec_cmd(data, GP2AP020A00F_CMD_TRIGGER_IR_EN); break; case GP2AP020A00F_SCAN_MODE_PROXIMITY: err =3D gp2ap020a00f_exec_cmd(data, GP2AP020A00F_CMD_TRIGGER_PROX_EN); break; } } if (err < 0) goto error_unlock; Just wanted to confirm before putting it in the v5. Thanks, ET