Subject: Re: [PATCH v2 1/1] atm: solos-pci: Replace simple_strtol by kstrtoint

From: LABBE Corentin <[email-masked]>
Date: Thu, 3 Dec 2015 08:52:57 +0100

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 <[email-masked]>
> > ---
> >   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