forked from mirrors/linux
		
	ssb: extif: add check for max value before setting watchdog register
Prevent the watchdog register on the extif core to be set to a too high value. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
		
							parent
							
								
									7ffbffe37d
								
							
						
					
					
						commit
						7280b51a29
					
				
					 2 changed files with 4 additions and 2 deletions
				
			
		| 
						 | 
					@ -112,9 +112,10 @@ void ssb_extif_get_clockcontrol(struct ssb_extif *extif,
 | 
				
			||||||
	*m = extif_read32(extif, SSB_EXTIF_CLOCK_SB);
 | 
						*m = extif_read32(extif, SSB_EXTIF_CLOCK_SB);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ssb_extif_watchdog_timer_set(struct ssb_extif *extif,
 | 
					void ssb_extif_watchdog_timer_set(struct ssb_extif *extif, u32 ticks)
 | 
				
			||||||
				  u32 ticks)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						if (ticks > SSB_EXTIF_WATCHDOG_MAX_TIMER)
 | 
				
			||||||
 | 
							ticks = SSB_EXTIF_WATCHDOG_MAX_TIMER;
 | 
				
			||||||
	extif_write32(extif, SSB_EXTIF_WATCHDOG, ticks);
 | 
						extif_write32(extif, SSB_EXTIF_WATCHDOG, ticks);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -152,6 +152,7 @@
 | 
				
			||||||
/* watchdog */
 | 
					/* watchdog */
 | 
				
			||||||
#define SSB_EXTIF_WATCHDOG_CLK		48000000	/* Hz */
 | 
					#define SSB_EXTIF_WATCHDOG_CLK		48000000	/* Hz */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define SSB_EXTIF_WATCHDOG_MAX_TIMER	((1 << 28) - 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef CONFIG_SSB_DRIVER_EXTIF
 | 
					#ifdef CONFIG_SSB_DRIVER_EXTIF
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue