Message ID | 20180220195134.13379-1-linus.walleij@linaro.org |
---|---|
State | New |
Headers | show |
Series | power: gemini-poweroff: Ignore infrared poweroff | expand |
On Tue, Feb 20, 2018 at 8:51 PM, Linus Walleij <linus.walleij@linaro.org> wrote: > Apparently, when a SATA drive is connected, the system > can detect constant infrared poweroff due to wiring > and muxing. Disable this poweroff method for now since > there is no system really using the infrared control > block (CIR Consumer Infrared), and there is no Linux > driver for it anyways. > > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Bah, it seems I can get other spurious poweroff events as well. I need to think of a better patch that clears the IRQ or something similar, I will do some more testing. Symptoms are that the platform powers off before even mounting root which is not very nice... Yours, Linus Walleij
Hi Linus On Wed, 21 Feb 2018, Linus Walleij wrote: > On Tue, Feb 20, 2018 at 8:51 PM, Linus Walleij <linus.walleij@linaro.org> wrote: > > > Apparently, when a SATA drive is connected, the system > > can detect constant infrared poweroff due to wiring > > and muxing. Disable this poweroff method for now since > > there is no system really using the infrared control > > block (CIR Consumer Infrared), and there is no Linux > > driver for it anyways. > > > > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > > Bah, it seems I can get other spurious poweroff events as well. > > I need to think of a better patch that clears the IRQ or something > similar, I will do some more testing. > > Symptoms are that the platform powers off before even mounting > root which is not very nice... > Do you know which device ?? I've grep'ed through the sources from IB4220, there is *no* CIR configured. strange ... Hans Ulli Kroll
On Wed, Feb 21, 2018 at 6:00 PM, Hans Ulli Kroll <ulli.kroll@googlemail.com> wrote: > On Wed, 21 Feb 2018, Linus Walleij wrote: >> On Tue, Feb 20, 2018 at 8:51 PM, Linus Walleij <linus.walleij@linaro.org> wrote: >> >> > Apparently, when a SATA drive is connected, the system >> > can detect constant infrared poweroff due to wiring >> > and muxing. Disable this poweroff method for now since >> > there is no system really using the infrared control >> > block (CIR Consumer Infrared), and there is no Linux >> > driver for it anyways. >> > >> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> >> >> Bah, it seems I can get other spurious poweroff events as well. >> >> I need to think of a better patch that clears the IRQ or something >> similar, I will do some more testing. >> >> Symptoms are that the platform powers off before even mounting >> root which is not very nice... > > Do you know which device ?? On the D-Link DIR-685 I get infrared poweroff. On the D-Link DNS-313 I get powerbutton poweroff. > I've grep'ed through the sources from IB4220, there is *no* CIR > configured. > > strange ... I think this power controller is sensitive so I made a new patch that ignores infrared poweroff and initialize it in a different order. It works for me so far :) Yours, Linus Walleij
diff --git a/drivers/power/reset/gemini-poweroff.c b/drivers/power/reset/gemini-poweroff.c index ff75af5abbc5..19bf02bb8193 100644 --- a/drivers/power/reset/gemini-poweroff.c +++ b/drivers/power/reset/gemini-poweroff.c @@ -47,8 +47,7 @@ static irqreturn_t gemini_powerbutton_interrupt(int irq, void *data) val &= 0x70U; switch (val) { case GEMINI_STAT_CIR: - dev_info(gpw->dev, "infrared poweroff\n"); - orderly_poweroff(true); + dev_info(gpw->dev, "infrared poweroff - ignored\n"); break; case GEMINI_STAT_RTC: dev_info(gpw->dev, "RTC poweroff\n");
Apparently, when a SATA drive is connected, the system can detect constant infrared poweroff due to wiring and muxing. Disable this poweroff method for now since there is no system really using the infrared control block (CIR Consumer Infrared), and there is no Linux driver for it anyways. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- drivers/power/reset/gemini-poweroff.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- 2.14.3