Re: Missing watchdog after ACPI watchdog creation failure

From: Mika Westerberg
Date: Wed Jan 10 2018 - 10:23:51 EST


On Wed, Jan 10, 2018 at 04:13:51PM +0100, Takashi Iwai wrote:
> Hi,
>
> on the recent kernels, i2c-i801 skips the creation of iTCO wdt when
> ACPI WDAT is present. It's fine when ACPI really creates the watchdog
> device. But, we've got a report showing that the watchdog is missing
> on some machines because ACPI failed to create, and yet i2c-i801 still
> skips because acpi_has_watchdog() returns true.
>
> More specifically, the machine gets an error from acpi_watchdog.c
> like:
> platform wdat_wdt: failed to claim resource 3: [io 0x040a-0x040c]
> ACPI: watchdog: Device creation failed: -16
>
> where the region was registered by pnp,
> % cat /proc/ioports
> ....
> 0400-047f : pnp 00:01
>
>
> One may say that BIOS sucks, but OTOH, the complete lack of watchdog
> thereafter can be seen as a regression, too. It used to work on the
> older kernel as iTCO wdt was provided by i2c-i801.

Hmm, if the resource is already taken I wonder how iTCO can work? Are
you sure iTCO works on those systems?

> Shouldn't acpi_has_watchdog() rather checks whether the watchdog
> device creation succeeded or not?

Yes, or rather we should first figure out what the actual problem is ;-)

Are you able to get acpidump from that system with full dmesg?