Re: [PATCH] ACPI / watchdog: Fix init failure with overlapping register regions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 24, 2017 at 10:37:17PM +0200, Rafael J. Wysocki wrote:
> On Saturday, July 15, 2017 05:48:18 PM Ryan Kennedy wrote:
> > Partially overlapping regions cause platform device creation
> > to fail. The latter of two overlapping resources will fail to be
> > reserved. Fix this by merging overlapping resource ranges while
> > enumerating WDAT table entries.
> > 
> > Signed-off-by: Ryan Kennedy <ryan5544@xxxxxxxxx>
> > ---
> >  drivers/acpi/acpi_watchdog.c | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/acpi/acpi_watchdog.c b/drivers/acpi/acpi_watchdog.c
> > index 8c4e0a1..bf22c29 100644
> > --- a/drivers/acpi/acpi_watchdog.c
> > +++ b/drivers/acpi/acpi_watchdog.c
> > @@ -86,7 +86,12 @@ void __init acpi_watchdog_init(void)
> >  
> >  		found = false;
> >  		resource_list_for_each_entry(rentry, &resource_list) {
> > -			if (resource_contains(rentry->res, &res)) {
> > +			if (rentry->res->flags == res.flags &&
> > +			    resource_overlaps(rentry->res, &res)) {
> > +				if (res.start < rentry->res->start)
> > +					rentry->res->start = res.start;
> > +				if (res.end > rentry->res->end)
> > +					rentry->res->end = res.end;
> >  				found = true;
> >  				break;
> >  			}
> > 
> 
> Mika, can you have a look at this, please?

I wonder why we need to do this?

+                           if (res.start < rentry->res->start)
+                                   rentry->res->start = res.start;
+                           if (res.end > rentry->res->end)
+                                   rentry->res->end = res.end;

IIRC we don't use rentry for anything else when we go out of the loop.
Tuning those limits seems unnecessary.
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux