lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190409153625.GV9224@smile.fi.intel.com>
Date:   Tue, 9 Apr 2019 18:36:25 +0300
From:   Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To:     Binbin Wu <binbin.wu@...el.com>
Cc:     rjw@...ysocki.net, linux-pm@...r.kernel.org,
        gregkh@...uxfoundation.org, lee.jones@...aro.org,
        mika.westerberg@...ux.intel.com, linux-kernel@...r.kernel.org,
        dmaengine@...r.kernel.org
Subject: Re: [PATCH v2] mfd: intel-lpss: Set the device in reset state when
 init

On Mon, Apr 08, 2019 at 04:09:10PM +0800, Binbin Wu wrote:
> In virtualized setup, when system reboots due to warm
> reset interrupt storm is seen.
> 
> Call Trace:
> <IRQ>
> dump_stack+0x70/0xa5
> __report_bad_irq+0x2e/0xc0
> note_interrupt+0x248/0x290
> ? add_interrupt_randomness+0x30/0x220
> handle_irq_event_percpu+0x54/0x80
> handle_irq_event+0x39/0x60
> handle_fasteoi_irq+0x91/0x150
> handle_irq+0x108/0x180
> do_IRQ+0x52/0xf0
> common_interrupt+0xf/0xf
> </IRQ>
> RIP: 0033:0x76fc2cfabc1d
> Code: 24 28 bf 03 00 00 00 31 c0 48 8d 35 63 77 0e 00 48 8d 15 2e
> 94 0e 00 4c 89 f9 49 89 d9 4c 89 d3 e8 b8 e2 01 00 48 8b 54 24 18
> <48> 89 ef 48 89 de 4c 89 e1 e8 d5 97 01 00 84 c0 74 2d 48 8b 04
> 24
> RSP: 002b:00007ffd247c1fc0 EFLAGS: 00000293 ORIG_RAX: ffffffffffffffda
> RAX: 0000000000000000 RBX: 00007ffd247c1ff0 RCX: 000000000003d3ce
> RDX: 0000000000000000 RSI: 00007ffd247c1ff0 RDI: 000076fc2cbb6010
> RBP: 000076fc2cded010 R08: 00007ffd247c2210 R09: 00007ffd247c22a0
> R10: 000076fc29465470 R11: 0000000000000000 R12: 00007ffd247c1fc0
> R13: 000076fc2ce8e470 R14: 000076fc27ec9960 R15: 0000000000000414
> handlers:
> [<000000000d3fa913>] idma64_irq
> Disabling IRQ #27
> 
> To avoid interrupt storm, set the device in reset state
> before bringing out the device from reset state.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>

(It shouldn't prevent usage of no_console_suspend hack AFAICS)

> 
> Changelog v2:
> - correct the subject line by adding "mfd: "
> 
> Signed-off-by: Binbin Wu <binbin.wu@...el.com>
> Acked-by: Mika Westerberg <mika.westerberg@...ux.intel.com>
> ---
>  drivers/mfd/intel-lpss.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c
> index 50bffc3..ff3fba1 100644
> --- a/drivers/mfd/intel-lpss.c
> +++ b/drivers/mfd/intel-lpss.c
> @@ -273,6 +273,9 @@ static void intel_lpss_init_dev(const struct intel_lpss *lpss)
>  {
>  	u32 value = LPSS_PRIV_SSP_REG_DIS_DMA_FIN;
>  
> +	/* Set the device in reset state */
> +	writel(0, lpss->priv + LPSS_PRIV_RESETS);
> +
>  	intel_lpss_deassert_reset(lpss);
>  
>  	intel_lpss_set_remap_addr(lpss);
> -- 
> 2.7.4
> 

-- 
With Best Regards,
Andy Shevchenko


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ