mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 14:34:27 -05:00 
			
		
		
		
	ar71xx: Fix NULL pointer dereferece in at803x_link_change_notify()
Check pdata pointer before use to avoid OOPS if dev_get_platdata() return NULL. Signed-off-by: Andrey Jr. Melnikov <temnota.am@gmail.com>
This commit is contained in:
		
							parent
							
								
									9c9f7b0434
								
							
						
					
					
						commit
						2cb8f0a4cf
					
				@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	 */
 | 
			
		||||
 	if (phydev->state == PHY_NOLINK) {
 | 
			
		||||
-		if (priv->gpiod_reset && !priv->phy_reset) {
 | 
			
		||||
+		if ((priv->gpiod_reset || pdata->has_reset_gpio) &&
 | 
			
		||||
+		if ((priv->gpiod_reset || (pdata && pdata->has_reset_gpio)) &&
 | 
			
		||||
+		    !priv->phy_reset) {
 | 
			
		||||
 			struct at803x_context context;
 | 
			
		||||
 
 | 
			
		||||
@ -52,7 +52,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
-			msleep(1);
 | 
			
		||||
-			gpiod_set_value(priv->gpiod_reset, 0);
 | 
			
		||||
-			msleep(1);
 | 
			
		||||
+			if (pdata->has_reset_gpio) {
 | 
			
		||||
+			if (pdata && pdata->has_reset_gpio) {
 | 
			
		||||
+				gpio_set_value_cansleep(pdata->reset_gpio, 0);
 | 
			
		||||
+				msleep(1);
 | 
			
		||||
+				gpio_set_value_cansleep(pdata->reset_gpio, 1);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user