 7ace30aeb6
			
		
	
	7ace30aeb6
	
	
	
		
			
			Backport upstream code split patch for qca8k needed for ipq40xx target to correctly implement a DSA driver. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
		
			
				
	
	
		
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 057bcf15db8e625276ddf02b2b7c668a3cb43f81 Mon Sep 17 00:00:00 2001
 | |
| From: Christian Marangi <ansuelsmth@gmail.com>
 | |
| Date: Sun, 4 Sep 2022 23:46:24 +0200
 | |
| Subject: [net PATCH] net: dsa: qca8k: fix NULL pointer dereference for
 | |
|  of_device_get_match_data
 | |
| 
 | |
| of_device_get_match_data is called on priv->dev before priv->dev is
 | |
| actually set. Move of_device_get_match_data after priv->dev is correctly
 | |
| set to fix this kernel panic.
 | |
| 
 | |
| Fixes: 3bb0844e7bcd ("net: dsa: qca8k: cache match data to speed up access")
 | |
| Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
 | |
| ---
 | |
|  drivers/net/dsa/qca/qca8k-8xxx.c | 2 +-
 | |
|  1 file changed, 1 insertion(+), 1 deletion(-)
 | |
| 
 | |
| --- a/drivers/net/dsa/qca/qca8k-8xxx.c
 | |
| +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
 | |
| @@ -1835,9 +1835,9 @@ qca8k_sw_probe(struct mdio_device *mdiod
 | |
|  	if (!priv)
 | |
|  		return -ENOMEM;
 | |
|  
 | |
| -	priv->info = of_device_get_match_data(priv->dev);
 | |
|  	priv->bus = mdiodev->bus;
 | |
|  	priv->dev = &mdiodev->dev;
 | |
| +	priv->info = of_device_get_match_data(priv->dev);
 | |
|  
 | |
|  	priv->reset_gpio = devm_gpiod_get_optional(priv->dev, "reset",
 | |
|  						   GPIOD_ASIS);
 |