2014-07-28 15:28:23

by Himangi Saraogi

[permalink] [raw]
Subject: [PATCH] net: irda: delete double assignment

Delete successive assignments to the same location.

A simplified version of Coccinelle semantic match that finds this problem is as
follows:

// <smpl>
@@
expression i;
@@

*i = ...;
i = ...;
// </smpl>

Signed-off-by: Himangi Saraogi <[email protected]>
---
Should the second assignment have been |=?
net/irda/irlap_frame.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/net/irda/irlap_frame.c b/net/irda/irlap_frame.c
index 9ea0c93..4c169f6 100644
--- a/net/irda/irlap_frame.c
+++ b/net/irda/irlap_frame.c
@@ -621,7 +621,6 @@ void irlap_send_rd_frame(struct irlap_cb *self)

frame = (struct rd_frame *)skb_put(tx_skb, 2);

- frame->caddr = self->caddr;
frame->caddr = RD_RSP | PF_BIT;

irlap_queue_xmit(self, tx_skb);
--
1.9.1


2014-07-29 22:47:10

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] net: irda: delete double assignment

From: Himangi Saraogi <[email protected]>
Date: Mon, 28 Jul 2014 20:58:12 +0530

> @@ -621,7 +621,6 @@ void irlap_send_rd_frame(struct irlap_cb *self)
>
> frame = (struct rd_frame *)skb_put(tx_skb, 2);
>
> - frame->caddr = self->caddr;
> frame->caddr = RD_RSP | PF_BIT;
>

This doesn't look correct to me.

I think both lines should be kept, and the second line should be
changed to assign those bits to frame->control.

This is consistent with other parts of the file that make use of the PF_BIT.