From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qv1-f49.google.com (mail-qv1-f49.google.com [209.85.219.49]) (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 D237627FD43 for ; Mon, 15 Jun 2026 07:21:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781508089; cv=none; b=NFmc+aCclv7F9/HpSpaKkS1HZE5eEbxpt7q1uA2pSklrtrqN5y3A38pRHV2ISlsGiC1DkyCy45OfMrceqg2uEIEAERMC+aaLyk/He2jgxUMwOKFHch4x7dxyEidUDoCWYjnLCLmBD7NaWu9dPd/myulQQwZHhsEmv6otyu7+p8M= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781508089; c=relaxed/simple; bh=nn7+2DPi0Vk6/84iHpl+6OO1INGJcUWpTlvIFVjD/qY=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=cTpYvNXyzuT1VLOoBYvSKXbDo5FJsMgCpaRFwDAmjVTLvA5maW94JvdpLIEz0dPtoL/gWPO6a/fx1FJI7z960KSOCHW7anJm69VkfYwfQA5iyhQiTPdKmIzloa1HoTm4dIFAKbfH1BwDEmG7PIEq7wCVdAS3xm5/d1oKXROCWBA= 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=G+0jCLZO; arc=none smtp.client-ip=209.85.219.49 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="G+0jCLZO" Received: by mail-qv1-f49.google.com with SMTP id 6a1803df08f44-8ce9d444173so39295326d6.2 for ; Mon, 15 Jun 2026 00:21:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781508086; x=1782112886; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=HfIJ8NJLS2iVdVFuYqB5vEsChL28xPZok5XYeoWnpW0=; b=G+0jCLZO+5ZLUYfeYUA7DCMjqCYoQHYm+GxAbWZaWIyTdMQwsDJLQ44bxIA4JzmnpF PAgk/2m+oH4VtCHTTpZ8CkOMwmcV/ntuwJ9GXNkSUg84mpWCHJm6b4ZTXgsXti/C2hHB 9Hc8ETMPlZLY8ZC7jD9xzaFhyWebweR9nAob8ajotyrQBBFA91Z4ElC6m+4q/WhyJ6mZ WgYT2PGlPsJ70Ro5e2RatvXDcRX9eDrUoGJp+BnXfNjnrgdPYslsE20PSdM4DlXMNvvd Lj73H+sfXrOq+2wAxkq/oPBfJ98wPARehDnDtdM45ScslCK7E+dveyPBVXztaJmVxKmy MRQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781508086; x=1782112886; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HfIJ8NJLS2iVdVFuYqB5vEsChL28xPZok5XYeoWnpW0=; b=N4JXFz1UZcmjxRM68DJ8ZG86eF8fbuLlkGICn0LCWfnqM+0dhf9hWtuxgk8JgkdEsU hLfXuYqZxEUUhKN7/TxIJnhSEhnNvm0F1M0GF2QmFQ+365Ozdcycotm9ZWPeiAOFkwuq tZb7BtZWSbIpaozhHCOQm3Nt2k15bU/R0+/U3GrgHQBrLAIA6dyzwKl9vX0yr9o9LEQ8 RUtb5e+3sJPeuG1JgPgDMaXLNyMAtOAd9J5G8YTP4Xa7PkdM+fS/5LgfJ6Iz5rtqL0rw BSQeni4Jc3U+o1br0+FsQIEzPZ3h8o2pGjYE5+80xGRVknVlY4j1rJkcJrJpTH2A2Rb+ j6qQ== X-Forwarded-Encrypted: i=1; AFNElJ+KV4FStmO19iT+K3T2qSs0rf7grQjN6JvwS/yMlkULS6XYUrbZlhxaODhh7uae7KocqYzgncsjf49f66E=@vger.kernel.org X-Gm-Message-State: AOJu0Yy/q9VA9JmPESaekrfSnEHHFDb3QoKdjCaCMc4VhXxMh3JzxU+V Jm3rGgPg0kNjvAY9sZyCWXKzfGp6Nqrh24ZgH8pjMzdGkYfvmJbgrOT+ X-Gm-Gg: Acq92OGZLeWV0M9r+8t2dA4f8OT6O7LS37TMT6atHgJUNfttEXXjWRuKJA0tZcuOSpq wtGG0gYGUSXzdAUiH950MP4/WG9lLGs3Rdp/lJRfhGLopRut+kbA/LjLKVQwPHyn1tBhYq4iszg EP9Wbzj73RdU1YlkA7LQbY7y2hZ3iyDM79nMzlYKME5/xPvOsiCA/jyCw7liWyU4K6tWHy7TDPN g5Y+oU2cNx/WjNkjXJhc1cobTST9pmhZGmkgZgVPb4joWb1GXyte3KJkuTY3XYVs5MMcNsPDb8J ABPtSLP5xFIV7GzIql6dC8bB2h4xQOuzydV5z4YmilIhUkegztXfkpBFoNpyibbUVLsCqQZn4pv fDeGye8Dk6vz+vgrPwjcGoLvx39ZIkICjLrIKDbuBJuuOmnRNwUgvpkymcQwXySZgUquUNdTNlV 11Ve0DTaR45W6FIEfA X-Received: by 2002:a0c:f403:0:b0:8ce:c4cd:90b5 with SMTP id 6a1803df08f44-8d32e30db3fmr247247706d6.35.1781508085747; Mon, 15 Jun 2026 00:21:25 -0700 (PDT) Received: from localhost ([43.225.189.75]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8d304578816sm103457206d6.23.2026.06.15.00.21.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Jun 2026 00:21:25 -0700 (PDT) Date: Mon, 15 Jun 2026 10:21:18 +0300 From: Dan Carpenter To: abdelnasser hussein Cc: Vaibhav Agarwal , Mark Greer , Johan Hovold , Alex Elder , Greg Kroah-Hartman , greybus-dev@lists.linaro.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, kernel test robot Subject: Re: [PATCH v2] staging: greybus: audio: check sscanf() result directly Message-ID: References: <20260614060857.15366-1-abdelnasserhussein11@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260614060857.15366-1-abdelnasserhussein11@gmail.com> On Sun, Jun 14, 2026 at 09:08:57AM +0300, abdelnasser hussein wrote: > Smatch warns: > > drivers/staging/greybus/audio_codec.c:335 gbaudio_module_update() > warn: sscanf doesn't return error codes > > sscanf() returns the number of successfully matched input items, not a > negative error code. Compare the return value directly with the expected > number of conversions instead of storing it in ret as an error code. > > Also remove the redundant else-if check for snd_soc_dapm_aif_out. The > widget id is validated earlier in the function, so the remaining branch > can only handle snd_soc_dapm_aif_out. This avoids a compiler warning > about a potentially uninitialized variable. > > Reported-by: kernel test robot > Closes: https://lore.kernel.org/oe-kbuild-all/202606140347.gGVWDnbi-lkp@intel.com/ > > Signed-off-by: abdelnasser hussein > --- This static checker warning is triggered when we propagate the return from sscanf(). > drivers/staging/greybus/audio_codec.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/staging/greybus/audio_codec.c b/drivers/staging/greybus/audio_codec.c > index 720aa752e17e..6daa4e706792 100644 > --- a/drivers/staging/greybus/audio_codec.c > +++ b/drivers/staging/greybus/audio_codec.c > @@ -311,8 +311,7 @@ int gbaudio_module_update(struct gbaudio_codec_info *codec, > } > > /* parse dai_id from AIF widget's stream_name */ > - ret = sscanf(w->sname, "%s %d %s", intf_name, &dai_id, dir); > - if (ret < 3) { > + if (sscanf(w->sname, "%s %d %s", intf_name, &dai_id, dir) != 3) { > dev_err(codec->dev, "Error while parsing dai_id for %s\n", w->name); > return -EINVAL; So this code is fine as-is since it's returning -EINVAL. > } > @@ -323,7 +322,7 @@ int gbaudio_module_update(struct gbaudio_codec_info *codec, > ret = gbaudio_module_enable_tx(codec, module, dai_id); > else > ret = gbaudio_module_disable_tx(module, dai_id); > - } else if (w->id == snd_soc_dapm_aif_out) { > + } else { Yes, this is what the static checker is complaining about. It thinks that the if statement might be false. But to a human reader, the else if or the plain else are equivalent. It's just a style choice which way to write it. I would just leave this as-is since the original code is fine. To be honest, most old static checker warnings are stuff that someone already decided to leave as is. It's better to write new checks. Just look for simple fixes in git log and then you can vibe code a check. Better to work against the devel branch of smatch. regards, dan carpenter > if (enable) > ret = gbaudio_module_enable_rx(codec, module, dai_id); > else