2023-08-01 20:38:59

by Ira Weiny

[permalink] [raw]
Subject: [PATCH v2 1/2] cxl/mbox: Use correct handle in events debug message

The handle value used to report an event being cleared by dev_dbg() is
incorrect due to a post increment of the payload handle index.

Delay the increment of the index until after the print.

Fixes: 6ebe28f9ec72 ("cxl/mem: Read, trace, and clear events on driver load")
Signed-off-by: Ira Weiny <[email protected]>

---
Changes for v2
[Dan] Go ahead and mark this for backporting
[Dan] Remove 'To/Cc' cruft from individual patches
[Dan/Alison] Split out the additional debugging
[Alison] New oneliner
---
drivers/cxl/core/mbox.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c
index d6d067fbee97..a1c490f66bbf 100644
--- a/drivers/cxl/core/mbox.c
+++ b/drivers/cxl/core/mbox.c
@@ -882,9 +882,10 @@ static int cxl_clear_event_record(struct cxl_memdev_state *mds,
*/
i = 0;
for (cnt = 0; cnt < total; cnt++) {
- payload->handles[i++] = get_pl->records[cnt].hdr.handle;
+ payload->handles[i] = get_pl->records[cnt].hdr.handle;
dev_dbg(mds->cxlds.dev, "Event log '%d': Clearing %u\n", log,
le16_to_cpu(payload->handles[i]));
+ i++;

if (i == max_handles) {
payload->nr_recs = i;

--
2.41.0



2023-08-01 22:08:33

by Dave Jiang

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] cxl/mbox: Use correct handle in events debug message



On 8/1/23 13:13, Ira Weiny wrote:
> The handle value used to report an event being cleared by dev_dbg() is
> incorrect due to a post increment of the payload handle index.
>
> Delay the increment of the index until after the print.
>
> Fixes: 6ebe28f9ec72 ("cxl/mem: Read, trace, and clear events on driver load")
> Signed-off-by: Ira Weiny <[email protected]>

Reviewed-by: Dave Jiang <[email protected]>
>
> ---
> Changes for v2
> [Dan] Go ahead and mark this for backporting
> [Dan] Remove 'To/Cc' cruft from individual patches
> [Dan/Alison] Split out the additional debugging
> [Alison] New oneliner
> ---
> drivers/cxl/core/mbox.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c
> index d6d067fbee97..a1c490f66bbf 100644
> --- a/drivers/cxl/core/mbox.c
> +++ b/drivers/cxl/core/mbox.c
> @@ -882,9 +882,10 @@ static int cxl_clear_event_record(struct cxl_memdev_state *mds,
> */
> i = 0;
> for (cnt = 0; cnt < total; cnt++) {
> - payload->handles[i++] = get_pl->records[cnt].hdr.handle;
> + payload->handles[i] = get_pl->records[cnt].hdr.handle;
> dev_dbg(mds->cxlds.dev, "Event log '%d': Clearing %u\n", log,
> le16_to_cpu(payload->handles[i]));
> + i++;
>
> if (i == max_handles) {
> payload->nr_recs = i;
>

2023-08-02 17:29:41

by Alison Schofield

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] cxl/mbox: Use correct handle in events debug message

On Tue, Aug 01, 2023 at 01:13:28PM -0700, Ira Weiny wrote:
> The handle value used to report an event being cleared by dev_dbg() is
> incorrect due to a post increment of the payload handle index.
>
> Delay the increment of the index until after the print.
>
> Fixes: 6ebe28f9ec72 ("cxl/mem: Read, trace, and clear events on driver load")
> Signed-off-by: Ira Weiny <[email protected]>

Reviewed-by: Alison Schofield <[email protected]>

>
> ---
> Changes for v2
> [Dan] Go ahead and mark this for backporting
> [Dan] Remove 'To/Cc' cruft from individual patches
> [Dan/Alison] Split out the additional debugging
> [Alison] New oneliner
> ---
> drivers/cxl/core/mbox.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c
> index d6d067fbee97..a1c490f66bbf 100644
> --- a/drivers/cxl/core/mbox.c
> +++ b/drivers/cxl/core/mbox.c
> @@ -882,9 +882,10 @@ static int cxl_clear_event_record(struct cxl_memdev_state *mds,
> */
> i = 0;
> for (cnt = 0; cnt < total; cnt++) {
> - payload->handles[i++] = get_pl->records[cnt].hdr.handle;
> + payload->handles[i] = get_pl->records[cnt].hdr.handle;
> dev_dbg(mds->cxlds.dev, "Event log '%d': Clearing %u\n", log,
> le16_to_cpu(payload->handles[i]));
> + i++;
>
> if (i == max_handles) {
> payload->nr_recs = i;
>
> --
> 2.41.0
>

2023-08-04 12:53:52

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] cxl/mbox: Use correct handle in events debug message

On Tue, 01 Aug 2023 13:13:28 -0700
Ira Weiny <[email protected]> wrote:

> The handle value used to report an event being cleared by dev_dbg() is
> incorrect due to a post increment of the payload handle index.
>
> Delay the increment of the index until after the print.
>
> Fixes: 6ebe28f9ec72 ("cxl/mem: Read, trace, and clear events on driver load")
> Signed-off-by: Ira Weiny <[email protected]>
>

FWIW given how well this has already been reviewed.
Reviewed-by: Jonathan Cameron <[email protected]>

> ---
> Changes for v2
> [Dan] Go ahead and mark this for backporting
> [Dan] Remove 'To/Cc' cruft from individual patches
> [Dan/Alison] Split out the additional debugging
> [Alison] New oneliner
> ---
> drivers/cxl/core/mbox.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c
> index d6d067fbee97..a1c490f66bbf 100644
> --- a/drivers/cxl/core/mbox.c
> +++ b/drivers/cxl/core/mbox.c
> @@ -882,9 +882,10 @@ static int cxl_clear_event_record(struct cxl_memdev_state *mds,
> */
> i = 0;
> for (cnt = 0; cnt < total; cnt++) {
> - payload->handles[i++] = get_pl->records[cnt].hdr.handle;
> + payload->handles[i] = get_pl->records[cnt].hdr.handle;
> dev_dbg(mds->cxlds.dev, "Event log '%d': Clearing %u\n", log,
> le16_to_cpu(payload->handles[i]));
> + i++;
>
> if (i == max_handles) {
> payload->nr_recs = i;
>