Re: [PATCH 1/2] usb: typec: thunderbolt: Fix loops that iterate TYPEC_PLUG_SOP_P and TYPEC_PLUG_SOP_PP

From: Heikki Krogerus
Date: Tue Jan 28 2025 - 03:17:42 EST


On Fri, Jan 24, 2025 at 07:40:23PM +0000, Benson Leung wrote:
> Fixes these Smatch static checker warnings:
> drivers/usb/typec/altmodes/thunderbolt.c:116 tbt_altmode_work() warn: why is zero skipped 'i'
> drivers/usb/typec/altmodes/thunderbolt.c:147 tbt_enter_modes_ordered() warn: why is zero skipped 'i'
> drivers/usb/typec/altmodes/thunderbolt.c:328 tbt_altmode_remove() warn: why is zero skipped 'i'
>
> Fixes: 100e25738659 ("usb: typec: Add driver for Thunderbolt 3 Alternate Mode")
>
> Signed-off-by: Benson Leung <bleung@xxxxxxxxxxxx>
> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>

> ---
> drivers/usb/typec/altmodes/thunderbolt.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/usb/typec/altmodes/thunderbolt.c b/drivers/usb/typec/altmodes/thunderbolt.c
> index 1b475b1d98e7..94e47d30e598 100644
> --- a/drivers/usb/typec/altmodes/thunderbolt.c
> +++ b/drivers/usb/typec/altmodes/thunderbolt.c
> @@ -112,7 +112,7 @@ static void tbt_altmode_work(struct work_struct *work)
> return;
>
> disable_plugs:
> - for (int i = TYPEC_PLUG_SOP_PP; i > 0; --i) {
> + for (int i = TYPEC_PLUG_SOP_PP; i >= 0; --i) {
> if (tbt->plug[i])
> typec_altmode_put_plug(tbt->plug[i]);
>
> @@ -143,7 +143,7 @@ static int tbt_enter_modes_ordered(struct typec_altmode *alt)
> if (tbt->plug[TYPEC_PLUG_SOP_P]) {
> ret = typec_cable_altmode_enter(alt, TYPEC_PLUG_SOP_P, NULL);
> if (ret < 0) {
> - for (int i = TYPEC_PLUG_SOP_PP; i > 0; --i) {
> + for (int i = TYPEC_PLUG_SOP_PP; i >= 0; --i) {
> if (tbt->plug[i])
> typec_altmode_put_plug(tbt->plug[i]);
>
> @@ -324,7 +324,7 @@ static void tbt_altmode_remove(struct typec_altmode *alt)
> {
> struct tbt_altmode *tbt = typec_altmode_get_drvdata(alt);
>
> - for (int i = TYPEC_PLUG_SOP_PP; i > 0; --i) {
> + for (int i = TYPEC_PLUG_SOP_PP; i >= 0; --i) {
> if (tbt->plug[i])
> typec_altmode_put_plug(tbt->plug[i]);
> }
> --
> 2.48.1.262.g85cc9f2d1e-goog

--
heikki