mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	Remove "a" character from the first line of patch 738-v5.14-01-net-dsa-qca8k-fix-an-endian-bug-in-qca8k-get-ethtool.patch Otherwise `git am` fails to apply this patch which is annoying when trying to do some development / rebasing. Signed-off-by: Marek Behún <kabel@kernel.org>
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From aa3d020b22cb844ab7bdbb9e5d861a64666e2b74 Mon Sep 17 00:00:00 2001
 | |
| From: Dan Carpenter <dan.carpenter@oracle.com>
 | |
| Date: Wed, 9 Jun 2021 12:52:12 +0300
 | |
| Subject: [PATCH] net: dsa: qca8k: fix an endian bug in
 | |
|  qca8k_get_ethtool_stats()
 | |
| 
 | |
| The "hi" variable is a u64 but the qca8k_read() writes to the top 32
 | |
| bits of it.  That will work on little endian systems but it's a bit
 | |
| subtle.  It's cleaner to make declare "hi" as a u32.  We will still need
 | |
| to cast it when we shift it later on in the function but that's fine.
 | |
| 
 | |
| Fixes: 7c9896e37807 ("net: dsa: qca8k: check return value of read functions correctly")
 | |
| Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
 | |
| Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
 | |
| Signed-off-by: David S. Miller <davem@davemloft.net>
 | |
| ---
 | |
|  drivers/net/dsa/qca8k.c | 6 +++---
 | |
|  1 file changed, 3 insertions(+), 3 deletions(-)
 | |
| 
 | |
| --- a/drivers/net/dsa/qca8k.c
 | |
| +++ b/drivers/net/dsa/qca8k.c
 | |
| @@ -1412,7 +1412,7 @@ qca8k_get_ethtool_stats(struct dsa_switc
 | |
|  	struct qca8k_priv *priv = (struct qca8k_priv *)ds->priv;
 | |
|  	const struct qca8k_mib_desc *mib;
 | |
|  	u32 reg, i, val;
 | |
| -	u64 hi = 0;
 | |
| +	u32 hi = 0;
 | |
|  	int ret;
 | |
|  
 | |
|  	for (i = 0; i < ARRAY_SIZE(ar8327_mib); i++) {
 | |
| @@ -1424,14 +1424,14 @@ qca8k_get_ethtool_stats(struct dsa_switc
 | |
|  			continue;
 | |
|  
 | |
|  		if (mib->size == 2) {
 | |
| -			ret = qca8k_read(priv, reg + 4, (u32 *)&hi);
 | |
| +			ret = qca8k_read(priv, reg + 4, &hi);
 | |
|  			if (ret < 0)
 | |
|  				continue;
 | |
|  		}
 | |
|  
 | |
|  		data[i] = val;
 | |
|  		if (mib->size == 2)
 | |
| -			data[i] |= hi << 32;
 | |
| +			data[i] |= (u64)hi << 32;
 | |
|  	}
 | |
|  }
 | |
|  
 |