forked from mirrors/linux
		
	ACPI / watchdog: Fix off-by-one error at resource assignment
The resource allocation in WDAT watchdog has off-one-by error, it sets
one byte more than the actual end address.  This may eventually lead
to unexpected resource conflicts.
Fixes: 058dfc7670 (ACPI / watchdog: Add support for WDAT hardware watchdog)
Cc: 4.9+ <stable@vger.kernel.org> # 4.9+
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
			
			
This commit is contained in:
		
							parent
							
								
									c698ca5278
								
							
						
					
					
						commit
						b1abf6fc49
					
				
					 2 changed files with 3 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -74,10 +74,10 @@ void __init acpi_watchdog_init(void)
 | 
			
		|||
		res.start = gas->address;
 | 
			
		||||
		if (gas->space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY) {
 | 
			
		||||
			res.flags = IORESOURCE_MEM;
 | 
			
		||||
			res.end = res.start + ALIGN(gas->access_width, 4);
 | 
			
		||||
			res.end = res.start + ALIGN(gas->access_width, 4) - 1;
 | 
			
		||||
		} else if (gas->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
 | 
			
		||||
			res.flags = IORESOURCE_IO;
 | 
			
		||||
			res.end = res.start + gas->access_width;
 | 
			
		||||
			res.end = res.start + gas->access_width - 1;
 | 
			
		||||
		} else {
 | 
			
		||||
			pr_warn("Unsupported address space: %u\n",
 | 
			
		||||
				gas->space_id);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -392,7 +392,7 @@ static int wdat_wdt_probe(struct platform_device *pdev)
 | 
			
		|||
 | 
			
		||||
		memset(&r, 0, sizeof(r));
 | 
			
		||||
		r.start = gas->address;
 | 
			
		||||
		r.end = r.start + gas->access_width;
 | 
			
		||||
		r.end = r.start + gas->access_width - 1;
 | 
			
		||||
		if (gas->space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY) {
 | 
			
		||||
			r.flags = IORESOURCE_MEM;
 | 
			
		||||
		} else if (gas->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue