From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932177AbbLCHxG (ORCPT ); Thu, 3 Dec 2015 02:53:06 -0500 Received: from mail-wm0-f49.google.com ([74.125.82.49]:38323 "EHLO mail-wm0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750858AbbLCHxE (ORCPT ); Thu, 3 Dec 2015 02:53:04 -0500 Date: Thu, 3 Dec 2015 08:52:57 +0100 From: LABBE Corentin To: Sergei Shtylyov Cc: 3chas3@gmail.com, linux-atm-general@lists.sourceforge.net, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH v2 1/1] atm: solos-pci: Replace simple_strtol by kstrtoint Message-ID: <20151203075257.GA13787@Red> References: <1449060889-20447-1-git-send-email-clabbe.montjoie@gmail.com> <1449060889-20447-2-git-send-email-clabbe.montjoie@gmail.com> <565EF9EB.3000509@cogentembedded.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <565EF9EB.3000509@cogentembedded.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Dec 02, 2015 at 05:02:19PM +0300, Sergei Shtylyov wrote: > Hello. > > On 12/2/2015 3:54 PM, LABBE Corentin wrote: > > > The simple_strtol function is obsolete. > > This patch replace it by kstrtoint. > > This will simplify code, since some error case not handled by > > simple_strtol are handled by kstrtoint. > > > > Signed-off-by: LABBE Corentin > > --- > > drivers/atm/solos-pci.c | 28 +++++++++++++++------------- > > 1 file changed, 15 insertions(+), 13 deletions(-) > > > > diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c > > index 3d7fb65..f944d75 100644 > > --- a/drivers/atm/solos-pci.c > > +++ b/drivers/atm/solos-pci.c > > @@ -347,8 +347,8 @@ static char *next_string(struct sk_buff *skb) > > */ > > static int process_status(struct solos_card *card, int port, struct sk_buff *skb) > > { > > - char *str, *end, *state_str, *snr, *attn; > > - int ver, rate_up, rate_down; > > + char *str, *state_str, *snr, *attn; > > + int ver, rate_up, rate_down, err; > > > > if (!card->atmdev[port]) > > return -ENODEV; > > @@ -357,11 +357,11 @@ static int process_status(struct solos_card *card, int port, struct sk_buff *skb > > if (!str) > > return -EIO; > > > > - ver = simple_strtol(str, NULL, 10); > > - if (ver < 1) { > > + err = kstrtoint(str, 10, &ver); > > + if (ver < 1 || err) { > > Is 'ver' initialized in case of error? If not, you have to check 'err' first. Hello Whatever if ver is initialized, since the conditional is an or, the test will always be true with the err value. Anyway I will send an updated version. Regards