diff mbox series

[1/1] cxl/mem: Fix for the index of Clear Event Record Handle

Message ID 20240315105336.464156-2-wangyuquan1236@phytium.com.cn
State New
Headers show
Series cxl/mem: Fix for the index of Clear Event Record Handle | expand

Commit Message

Yuquan Wang March 15, 2024, 10:53 a.m. UTC
The dev_dbg info for Clear Event Records mailbox command would report
the handle of the next record to clear not the current one.

This was because the index 'i' had incremented before printing the
current handle value.

This fix also adjusts the index variable name from 'i' to 'clear_cnt'
which can be easier for developers to distinguish and understand.

Signed-off-by: Yuquan Wang <wangyuquan1236@phytium.com.cn>
---
 drivers/cxl/core/mbox.c | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

Comments

Dan Williams March 15, 2024, 5:53 p.m. UTC | #1
Yuquan Wang wrote:
> The dev_dbg info for Clear Event Records mailbox command would report
> the handle of the next record to clear not the current one.
> 
> This was because the index 'i' had incremented before printing the
> current handle value.
> 
> This fix also adjusts the index variable name from 'i' to 'clear_cnt'
> which can be easier for developers to distinguish and understand.
> 
> Signed-off-by: Yuquan Wang <wangyuquan1236@phytium.com.cn>
> ---
>  drivers/cxl/core/mbox.c | 21 +++++++++++----------
>  1 file changed, 11 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c
> index 9adda4795eb7..3ca2845ae6aa 100644
> --- a/drivers/cxl/core/mbox.c
> +++ b/drivers/cxl/core/mbox.c
> @@ -881,7 +881,7 @@ static int cxl_clear_event_record(struct cxl_memdev_state *mds,
>  	struct cxl_mbox_cmd mbox_cmd;
>  	u16 cnt;
>  	int rc = 0;
> -	int i;
> +	int clear_cnt;
>  
>  	/* Payload size may limit the max handles */
>  	if (pl_size > mds->payload_size) {
> @@ -908,28 +908,29 @@ static int cxl_clear_event_record(struct cxl_memdev_state *mds,
>  	 * Clear Event Records uses u8 for the handle cnt while Get Event
>  	 * Record can return up to 0xffff records.
>  	 */
> -	i = 0;
> +	clear_cnt = 0;
>  	for (cnt = 0; cnt < total; cnt++) {
>  		struct cxl_event_record_raw *raw = &get_pl->records[cnt];
>  		struct cxl_event_generic *gen = &raw->event.generic;
>  
> -		payload->handles[i++] = gen->hdr.handle;
> +		payload->handles[clear_cnt] = gen->hdr.handle;
>  		dev_dbg(mds->cxlds.dev, "Event log '%d': Clearing %u\n", log,
> -			le16_to_cpu(payload->handles[i]));

Couldn't this patch be much smaller by just changing this to "i - 1",
because from the description the only problem is the dev_dbg()
statement, so just fix that.
diff mbox series

Patch

diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c
index 9adda4795eb7..3ca2845ae6aa 100644
--- a/drivers/cxl/core/mbox.c
+++ b/drivers/cxl/core/mbox.c
@@ -881,7 +881,7 @@  static int cxl_clear_event_record(struct cxl_memdev_state *mds,
 	struct cxl_mbox_cmd mbox_cmd;
 	u16 cnt;
 	int rc = 0;
-	int i;
+	int clear_cnt;
 
 	/* Payload size may limit the max handles */
 	if (pl_size > mds->payload_size) {
@@ -908,28 +908,29 @@  static int cxl_clear_event_record(struct cxl_memdev_state *mds,
 	 * Clear Event Records uses u8 for the handle cnt while Get Event
 	 * Record can return up to 0xffff records.
 	 */
-	i = 0;
+	clear_cnt = 0;
 	for (cnt = 0; cnt < total; cnt++) {
 		struct cxl_event_record_raw *raw = &get_pl->records[cnt];
 		struct cxl_event_generic *gen = &raw->event.generic;
 
-		payload->handles[i++] = gen->hdr.handle;
+		payload->handles[clear_cnt] = gen->hdr.handle;
 		dev_dbg(mds->cxlds.dev, "Event log '%d': Clearing %u\n", log,
-			le16_to_cpu(payload->handles[i]));
+			le16_to_cpu(payload->handles[clear_cnt]));
 
-		if (i == max_handles) {
-			payload->nr_recs = i;
+		clear_cnt++;
+		if (clear_cnt == max_handles) {
+			payload->nr_recs = clear_cnt;
 			rc = cxl_internal_send_cmd(mds, &mbox_cmd);
 			if (rc)
 				goto free_pl;
-			i = 0;
+			clear_cnt = 0;
 		}
 	}
 
 	/* Clear what is left if any */
-	if (i) {
-		payload->nr_recs = i;
-		mbox_cmd.size_in = struct_size(payload, handles, i);
+	if (clear_cnt) {
+		payload->nr_recs = clear_cnt;
+		mbox_cmd.size_in = struct_size(payload, handles, clear_cnt);
 		rc = cxl_internal_send_cmd(mds, &mbox_cmd);
 		if (rc)
 			goto free_pl;