diff mbox series

drivers/net: appletalk/cops: remove redundant if statement and mask

Message ID 20181222165841.18288-1-colin.king@canonical.com
State Changes Requested, archived
Delegated to: David Miller
Headers show
Series drivers/net: appletalk/cops: remove redundant if statement and mask | expand

Commit Message

Colin Ian King Dec. 22, 2018, 4:58 p.m. UTC
From: Colin Ian King <colin.king@canonical.com>

The two different assignments for pkt_len are actually the same and
so the if statement is redundant and can be removed.  Masking a u8
return value from inb() with 0xFF is also redundant and can also be
emoved.  Remove the redundant code.

Detected by CoverityScan, CID#1475639 ("Identical code for different
branches")

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/net/appletalk/cops.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

Comments

David Miller Dec. 24, 2018, 6:08 p.m. UTC | #1
From: Colin King <colin.king@canonical.com>
Date: Sat, 22 Dec 2018 16:58:41 +0000

> @@ -777,10 +777,7 @@ static void cops_rx(struct net_device *dev)
>          }
>  
>          /* Get response length. */
> -	if(lp->board==DAYNA)
> -        	pkt_len = inb(ioaddr) & 0xFF;
> -	else
> -		pkt_len = inb(ioaddr) & 0x00FF;
> +	pkt_len = inb(ioaddr);

There are other instances of similar weird identical statements guarded
by the test on the board type being DAYNA.

For example, in cops_send_packet():

	if(lp->board == DAYNA)
               	outb(skb->len >> 8, ioaddr);
	else
		outb((skb->len >> 8)&0x0FF, ioaddr);

Could you scan the rest of the driver and deal with all of these
instances in one go?

Thank you!
Colin Ian King Dec. 24, 2018, 6:11 p.m. UTC | #2
On 24/12/2018 18:08, David Miller wrote:
> From: Colin King <colin.king@canonical.com>
> Date: Sat, 22 Dec 2018 16:58:41 +0000
> 
>> @@ -777,10 +777,7 @@ static void cops_rx(struct net_device *dev)
>>          }
>>  
>>          /* Get response length. */
>> -	if(lp->board==DAYNA)
>> -        	pkt_len = inb(ioaddr) & 0xFF;
>> -	else
>> -		pkt_len = inb(ioaddr) & 0x00FF;
>> +	pkt_len = inb(ioaddr);
> 
> There are other instances of similar weird identical statements guarded
> by the test on the board type being DAYNA.
> 
> For example, in cops_send_packet():
> 
> 	if(lp->board == DAYNA)
>                	outb(skb->len >> 8, ioaddr);
> 	else
> 		outb((skb->len >> 8)&0x0FF, ioaddr);
> 
> Could you scan the rest of the driver and deal with all of these
> instances in one go?

Will do, probably in a day or so.
> 
> Thank you!
>
diff mbox series

Patch

diff --git a/drivers/net/appletalk/cops.c b/drivers/net/appletalk/cops.c
index bb49f6e40a19..64c74002fe8b 100644
--- a/drivers/net/appletalk/cops.c
+++ b/drivers/net/appletalk/cops.c
@@ -777,10 +777,7 @@  static void cops_rx(struct net_device *dev)
         }
 
         /* Get response length. */
-	if(lp->board==DAYNA)
-        	pkt_len = inb(ioaddr) & 0xFF;
-	else
-		pkt_len = inb(ioaddr) & 0x00FF;
+	pkt_len = inb(ioaddr);
         pkt_len |= (inb(ioaddr) << 8);
         /* Input IO code. */
         rsp_type=inb(ioaddr);