From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Joe Perches <joe@perches.com>
Cc: Richard Weinberger <richard@nod.at>,
linux-mtd@lists.infradead.org,
Vignesh Raghavendra <vigneshr@ti.com>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH] mtd: lpddr: Fix bad logic in print_drs_error
Date: Mon, 27 Apr 2020 15:29:13 +0200 [thread overview]
Message-ID: <20200427152913.47a48b46@xps13> (raw)
In-Reply-To: <2e19547dcec386b47923211896f43053b60ebc60.camel@perches.com>
Hi Joe,
Joe Perches <joe@perches.com> wrote on Mon, 30 Mar 2020 12:56:59 -0700:
> Update logic for broken test.
> Use a more common logging style.
>
> Miscellanea:
>
> o Coalesce formats
>
> Signed-off-by: Joe Perches <joe@perches.com>
> ---
>
> Found by inspection of include files using printk.
>
> It appears the logic in this function is broken for the
> consecutive tests of
>
> if (prog_status & 0x3)
> ...
> else if (prog_status & 0x2)
> ...
> else (prog_status & 0x1)
> ...
>
> Likely the first test should be
>
> if ((prog_status & 0x3) == 0x3)
I had a hard time understanding the patch just with the commit log, I
think the above text is as important.
In fact, would you mind doing the printk->pr_notice in a first patch,
and fix the wrong condition in a separate change?
>
> And this function is only used in drivers/mtd/lpddr/lpddr_cmds.c
> perhaps it should be moved there.
Agreed, do not hesitate to move the function as suggested in a third
patch.
>
> include/linux/mtd/pfow.h | 31 ++++++++++++++-----------------
> 1 file changed, 14 insertions(+), 17 deletions(-)
>
> diff --git a/include/linux/mtd/pfow.h b/include/linux/mtd/pfow.h
> index 122f343..1c08e75 100644
> --- a/include/linux/mtd/pfow.h
> +++ b/include/linux/mtd/pfow.h
> @@ -127,31 +127,28 @@ static inline void print_drs_error(unsigned dsr)
> int prog_status = (dsr & DSR_RPS) >> 8;
>
> if (!(dsr & DSR_AVAILABLE))
> - printk(KERN_NOTICE"DSR.15: (0) Device not Available\n");
> - if (prog_status & 0x03)
> - printk(KERN_NOTICE"DSR.9,8: (11) Attempt to program invalid "
> - "half with 41h command\n");
> + pr_notice("DSR.15: (0) Device not Available\n");
> +
> + if ((prog_status & 0x03) == 0x03)
> + pr_notice("DSR.9,8: (11) Attempt to program invalid half with 41h command\n");
> else if (prog_status & 0x02)
> - printk(KERN_NOTICE"DSR.9,8: (10) Object Mode Program attempt "
> - "in region with Control Mode data\n");
> + pr_notice("DSR.9,8: (10) Object Mode Program attempt in region with Control Mode data\n");
> else if (prog_status & 0x01)
> - printk(KERN_NOTICE"DSR.9,8: (01) Program attempt in region "
> - "with Object Mode data\n");
> + pr_notice("DSR.9,8: (01) Program attempt in region with Object Mode data\n");
> +
> if (!(dsr & DSR_READY_STATUS))
> - printk(KERN_NOTICE"DSR.7: (0) Device is Busy\n");
> + pr_notice("DSR.7: (0) Device is Busy\n");
> if (dsr & DSR_ESS)
> - printk(KERN_NOTICE"DSR.6: (1) Erase Suspended\n");
> + pr_notice("DSR.6: (1) Erase Suspended\n");
> if (dsr & DSR_ERASE_STATUS)
> - printk(KERN_NOTICE"DSR.5: (1) Erase/Blank check error\n");
> + pr_notice("DSR.5: (1) Erase/Blank check error\n");
> if (dsr & DSR_PROGRAM_STATUS)
> - printk(KERN_NOTICE"DSR.4: (1) Program Error\n");
> + pr_notice("DSR.4: (1) Program Error\n");
> if (dsr & DSR_VPPS)
> - printk(KERN_NOTICE"DSR.3: (1) Vpp low detect, operation "
> - "aborted\n");
> + pr_notice("DSR.3: (1) Vpp low detect, operation aborted\n");
> if (dsr & DSR_PSS)
> - printk(KERN_NOTICE"DSR.2: (1) Program suspended\n");
> + pr_notice("DSR.2: (1) Program suspended\n");
> if (dsr & DSR_DPS)
> - printk(KERN_NOTICE"DSR.1: (1) Aborted Erase/Program attempt "
> - "on locked block\n");
> + pr_notice("DSR.1: (1) Aborted Erase/Program attempt on locked block\n");
> }
> #endif /* __LINUX_MTD_PFOW_H */
>
>
Thanks,
Miquèl
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
WARNING: multiple messages have this Message-ID (diff)
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Joe Perches <joe@perches.com>
Cc: Richard Weinberger <richard@nod.at>,
Vignesh Raghavendra <vigneshr@ti.com>,
linux-mtd@lists.infradead.org,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH] mtd: lpddr: Fix bad logic in print_drs_error
Date: Mon, 27 Apr 2020 15:29:13 +0200 [thread overview]
Message-ID: <20200427152913.47a48b46@xps13> (raw)
In-Reply-To: <2e19547dcec386b47923211896f43053b60ebc60.camel@perches.com>
Hi Joe,
Joe Perches <joe@perches.com> wrote on Mon, 30 Mar 2020 12:56:59 -0700:
> Update logic for broken test.
> Use a more common logging style.
>
> Miscellanea:
>
> o Coalesce formats
>
> Signed-off-by: Joe Perches <joe@perches.com>
> ---
>
> Found by inspection of include files using printk.
>
> It appears the logic in this function is broken for the
> consecutive tests of
>
> if (prog_status & 0x3)
> ...
> else if (prog_status & 0x2)
> ...
> else (prog_status & 0x1)
> ...
>
> Likely the first test should be
>
> if ((prog_status & 0x3) == 0x3)
I had a hard time understanding the patch just with the commit log, I
think the above text is as important.
In fact, would you mind doing the printk->pr_notice in a first patch,
and fix the wrong condition in a separate change?
>
> And this function is only used in drivers/mtd/lpddr/lpddr_cmds.c
> perhaps it should be moved there.
Agreed, do not hesitate to move the function as suggested in a third
patch.
>
> include/linux/mtd/pfow.h | 31 ++++++++++++++-----------------
> 1 file changed, 14 insertions(+), 17 deletions(-)
>
> diff --git a/include/linux/mtd/pfow.h b/include/linux/mtd/pfow.h
> index 122f343..1c08e75 100644
> --- a/include/linux/mtd/pfow.h
> +++ b/include/linux/mtd/pfow.h
> @@ -127,31 +127,28 @@ static inline void print_drs_error(unsigned dsr)
> int prog_status = (dsr & DSR_RPS) >> 8;
>
> if (!(dsr & DSR_AVAILABLE))
> - printk(KERN_NOTICE"DSR.15: (0) Device not Available\n");
> - if (prog_status & 0x03)
> - printk(KERN_NOTICE"DSR.9,8: (11) Attempt to program invalid "
> - "half with 41h command\n");
> + pr_notice("DSR.15: (0) Device not Available\n");
> +
> + if ((prog_status & 0x03) == 0x03)
> + pr_notice("DSR.9,8: (11) Attempt to program invalid half with 41h command\n");
> else if (prog_status & 0x02)
> - printk(KERN_NOTICE"DSR.9,8: (10) Object Mode Program attempt "
> - "in region with Control Mode data\n");
> + pr_notice("DSR.9,8: (10) Object Mode Program attempt in region with Control Mode data\n");
> else if (prog_status & 0x01)
> - printk(KERN_NOTICE"DSR.9,8: (01) Program attempt in region "
> - "with Object Mode data\n");
> + pr_notice("DSR.9,8: (01) Program attempt in region with Object Mode data\n");
> +
> if (!(dsr & DSR_READY_STATUS))
> - printk(KERN_NOTICE"DSR.7: (0) Device is Busy\n");
> + pr_notice("DSR.7: (0) Device is Busy\n");
> if (dsr & DSR_ESS)
> - printk(KERN_NOTICE"DSR.6: (1) Erase Suspended\n");
> + pr_notice("DSR.6: (1) Erase Suspended\n");
> if (dsr & DSR_ERASE_STATUS)
> - printk(KERN_NOTICE"DSR.5: (1) Erase/Blank check error\n");
> + pr_notice("DSR.5: (1) Erase/Blank check error\n");
> if (dsr & DSR_PROGRAM_STATUS)
> - printk(KERN_NOTICE"DSR.4: (1) Program Error\n");
> + pr_notice("DSR.4: (1) Program Error\n");
> if (dsr & DSR_VPPS)
> - printk(KERN_NOTICE"DSR.3: (1) Vpp low detect, operation "
> - "aborted\n");
> + pr_notice("DSR.3: (1) Vpp low detect, operation aborted\n");
> if (dsr & DSR_PSS)
> - printk(KERN_NOTICE"DSR.2: (1) Program suspended\n");
> + pr_notice("DSR.2: (1) Program suspended\n");
> if (dsr & DSR_DPS)
> - printk(KERN_NOTICE"DSR.1: (1) Aborted Erase/Program attempt "
> - "on locked block\n");
> + pr_notice("DSR.1: (1) Aborted Erase/Program attempt on locked block\n");
> }
> #endif /* __LINUX_MTD_PFOW_H */
>
>
Thanks,
Miquèl
next prev parent reply other threads:[~2020-04-27 13:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-30 19:56 [RFC PATCH] mtd: lpddr: Fix bad logic in print_drs_error Joe Perches
2020-03-30 19:56 ` Joe Perches
2020-04-27 13:29 ` Miquel Raynal [this message]
2020-04-27 13:29 ` Miquel Raynal
2020-04-27 17:33 ` Joe Perches
2020-04-27 17:33 ` Joe Perches
2020-04-27 18:09 ` Gustavo A. R. Silva
2020-04-27 18:09 ` Gustavo A. R. Silva
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200427152913.47a48b46@xps13 \
--to=miquel.raynal@bootlin.com \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=richard@nod.at \
--cc=vigneshr@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.