All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paulo Zanoni <paulo.r.zanoni@intel.com>
To: Imre Deak <imre.deak@intel.com>, intel-gfx@lists.freedesktop.org
Cc: Tomi Sarvela <tomi.p.sarvela@intel.com>,
	Mathias Nyman <mathias.nyman@linux.intel.com>
Subject: Re: [PATCH] usb/icl: Work around ACPI boottime crash
Date: Tue, 03 Jul 2018 10:12:51 -0700	[thread overview]
Message-ID: <1530637971.2625.3.camel@intel.com> (raw)
In-Reply-To: <20180702135756.12159-1-imre.deak@intel.com>

Em Seg, 2018-07-02 às 16:57 +0300, Imre Deak escreveu:
> Work around the following boot time crash:

I worked around a very similar boot time crash by disabling
CONFIG_SLAB_FREELIST_HARDENED. Can you please verify if this helps?

Reference is LCK-5401.

> 
> [   10.456056] CPU: 1 PID: 220 Comm: systemd-udevd Tainted:
> G        W         4.17.0-rc7-CI-CI_DRM_4040+ #182
> [   10.465828] Hardware name: Intel Corporation Ice Lake Client
> Platform/IceLake U DDR4 SODIMM PD RVP, BIOS
> +ICLSFWR1.R00.2204.A00.1805172221 05/17/2018
> [   10.479168] RIP: 0010:acpi_ps_complete_this_op+0xa7/0x22a
> [   10.484627] RSP: 0018:ffffc900003a7578 EFLAGS: 00010202
> [   10.489881] RAX: 6b6b6b6b6b6b6b6b RBX: ffff8804abeda9c8 RCX:
> 0000000000000020
> [   10.497045] RDX: 0000000000000000 RSI: ffff88049e604a68 RDI:
> 0000000000000000
> [   10.504213] RBP: 0000000000000000 R08: ffff8804abeda9c8 R09:
> 0000000000000000
> [   10.511376] R10: 0000000000000000 R11: 0000000000000000 R12:
> 000000000000000e
> [   10.518542] R13: ffff88049e604a68 R14: ffff88049e604a68 R15:
> ffffffffa00263c2
> [   10.525713] FS:  00007ff6d85f18c0(0000) GS:ffff8804be880000(0000)
> knlGS:0000000000000000
> [   10.533839] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   10.539616] CR2: 00007ff6d73cff40 CR3: 000000049f794001 CR4:
> 0000000000760ee0
> [   10.546783] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
> 0000000000000000
> [   10.553949] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:
> 0000000000000400
> [   10.561112] PKRU: 55555554
> [   10.563849] Call Trace:
> [   10.566323]  acpi_ps_complete_op+0x49/0x3f1
> [   10.570537]  acpi_ps_parse_loop+0x94c/0x9bb
> [   10.574754]  ? acpi_ds_delete_walk_state+0x113/0x131
> [   10.579750]  acpi_ps_parse_aml+0x1a2/0x4af
> [   10.583875]  acpi_ps_execute_method+0x1e9/0x2a5
> [   10.588435]  acpi_ns_evaluate+0x2e4/0x42c
> [   10.592473]  acpi_evaluate_object+0x1fd/0x3a8
> [   10.596873]  usb_acpi_find_companion+0xee/0x1f0 [usbcore]
> [   10.602319]  acpi_platform_notify+0x33/0xa0
> [   10.606532]  device_add+0x197/0x600
> [   10.610048]  ? __init_waitqueue_head+0x36/0x50
> [   10.614529]  usb_hub_create_port_device+0x11d/0x340 [usbcore]
> [   10.620314]  hub_probe+0x9a5/0x1010 [usbcore]
> [   10.624701]  ? _raw_spin_unlock_irqrestore+0x51/0x60
> [   10.629730]  usb_probe_interface+0x13f/0x300 [usbcore]
> [   10.634900]  driver_probe_device+0x302/0x470
> [   10.639198]  ? __driver_attach+0xe0/0xe0
> [   10.643147]  bus_for_each_drv+0x59/0x90
> [   10.647013]  __device_attach+0xb7/0x130
> [   10.650878]  bus_probe_device+0x9c/0xb0
> [   10.654745]  device_add+0x3c5/0x600
> [   10.658270]  usb_set_configuration+0x540/0x880 [usbcore]
> [   10.663621]  generic_probe+0x28/0x80 [usbcore]
> [   10.668097]  driver_probe_device+0x302/0x470
> [   10.672393]  ? __driver_attach+0xe0/0xe0
> [   10.676346]  bus_for_each_drv+0x59/0x90
> [   10.680211]  __device_attach+0xb7/0x130
> [   10.684076]  bus_probe_device+0x9c/0xb0
> [   10.687940]  device_add+0x3c5/0x600
> [   10.691464]  usb_new_device+0x269/0x490 [usbcore]
> [   10.696206]  usb_add_hcd+0x558/0x850 [usbcore]
> [   10.700682]  xhci_pci_probe+0x13d/0x240 [xhci_pci]
> [   10.705534]  pci_device_probe+0xa1/0x130
> [   10.709484]  driver_probe_device+0x302/0x470
> [   10.713784]  __driver_attach+0xb9/0xe0
> [   10.717562]  ? driver_probe_device+0x470/0x470
> [   10.722033]  ? driver_probe_device+0x470/0x470
> [   10.726505]  bus_for_each_dev+0x64/0x90
> [   10.730370]  ? preempt_count_sub+0x92/0xd0
> [   10.734495]  bus_add_driver+0x164/0x260
> [   10.738362]  ? 0xffffffffa004e000
> [   10.741704]  driver_register+0x57/0xc0
> [   10.745482]  ? 0xffffffffa004e000
> [   10.748824]  do_one_initcall+0x4a/0x350
> [   10.752690]  ? do_init_module+0x22/0x20a
> [   10.756643]  ? rcu_read_lock_sched_held+0x74/0x80
> [   10.761377]  ? kmem_cache_alloc_trace+0x284/0x2e0
> [   10.766114]  do_init_module+0x5b/0x20a
> [   10.769895]  load_module+0x250d/0x2b20
> [   10.773678]  ? kernel_read+0x2c/0x40
> [   10.777285]  ? __se_sys_finit_module+0xaa/0xc0
> [   10.781759]  __se_sys_finit_module+0xaa/0xc0
> [   10.786061]  do_syscall_64+0x54/0x190
> [   10.789752]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
> [   10.794831] RIP: 0033:0x7ff6d74664d9
> [   10.798430] RSP: 002b:00007ffd91e7dd78 EFLAGS: 00000246 ORIG_RAX:
> 0000000000000139
> [   10.806033] RAX: ffffffffffffffda RBX: 0000560519bfae20 RCX:
> 00007ff6d74664d9
> [   10.813195] RDX: 0000000000000000 RSI: 00007ff6d795ce23 RDI:
> 000000000000000e
> [   10.820360] RBP: 00007ff6d795ce23 R08: 0000000000000000 R09:
> 0000000000000000
> [   10.827523] R10: 000000000000000e R11: 0000000000000246 R12:
> 0000000000000000
> [   10.834690] R13: 0000560519bf9a30 R14: 0000000000020000 R15:
> 000000000aba9500
> [   10.841862] Code: c2 10 5f ea 81 48 c7 c6 f0 5e ea 81 bf 7c 00 00
> 00 e8 0d 7c 00 00 31 ed e9 88 01 00 00 48 8b 03 31 ed 48 85 c0
> +0f 84 e9 00 00 00 <4c> 8b 60 28 4d 85 e4 0f 84 dc 00 00 00 0f b7 78
> 0a e8 62 fe ff
> [   10.860832] RIP: acpi_ps_complete_this_op+0xa7/0x22a RSP:
> ffffc900003a7578
> [   10.867907] ---[ end trace 3a0d2ee1129bc71e ]---
> 
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Signed-off-by: Imre Deak <imre.deak@intel.com>
> ---
>  drivers/usb/core/usb-acpi.c | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/drivers/usb/core/usb-acpi.c b/drivers/usb/core/usb-
> acpi.c
> index e221861b3187..8424b3a27e7e 100644
> --- a/drivers/usb/core/usb-acpi.c
> +++ b/drivers/usb/core/usb-acpi.c
> @@ -12,6 +12,7 @@
>  #include <linux/acpi.h>
>  #include <linux/pci.h>
>  #include <linux/usb/hcd.h>
> +#include <linux/dmi.h>
>  
>  #include "hub.h"
>  
> @@ -81,6 +82,20 @@ int usb_acpi_set_power_state(struct usb_device
> *hdev, int index, bool enable)
>  }
>  EXPORT_SYMBOL_GPL(usb_acpi_set_power_state);
>  
> +static const struct dmi_system_id intel_icl_broken_acpi[] = {
> +	{
> +		.ident = "ICL RVP",
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Intel
> Corporation"),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "Ice Lake Client
> Platform"),
> +		},
> +	},
> +
> +	{ }
> +};
> +
> +static bool acpi_connection_type_broken;
> +
>  static enum usb_port_connect_type
> usb_acpi_get_connect_type(acpi_handle handle,
>  		struct acpi_pld_info *pld)
>  {
> @@ -89,6 +104,10 @@ static enum usb_port_connect_type
> usb_acpi_get_connect_type(acpi_handle handle,
>  	union acpi_object *upc;
>  	acpi_status status;
>  
> +	/* Work around unknown ACPI instruction error on ICL RVP
> BIOSes. */
> +	if (acpi_connection_type_broken)
> +		return USB_PORT_CONNECT_TYPE_UNKNOWN;
> +
>  	/*
>  	 * According to 9.14 in ACPI Spec 6.2. _PLD indicates
> whether usb port
>  	 * is user visible and _UPC indicates whether it is
> connectable. If
> @@ -235,6 +254,11 @@ static struct acpi_bus_type usb_acpi_bus = {
>  
>  int usb_acpi_register(void)
>  {
> +	if (dmi_check_system(intel_icl_broken_acpi)) {
> +		pr_info("USB ACPI connection type broken.\n");
> +		acpi_connection_type_broken = true;
> +	}
> +
>  	return register_acpi_bus_type(&usb_acpi_bus);
>  }
>  
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2018-07-03 17:12 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-02 13:57 [PATCH] usb/icl: Work around ACPI boottime crash Imre Deak
2018-07-02 14:47 ` ✓ Fi.CI.BAT: success for " Patchwork
2018-07-02 16:22 ` ✓ Fi.CI.IGT: " Patchwork
2018-07-02 20:18 ` [PATCH] " Chris Wilson
2018-07-03  7:15   ` Tomi Sarvela
2018-07-03  9:22     ` Chris Wilson
2018-07-03  9:29       ` Imre Deak
2018-07-03 17:12 ` Paulo Zanoni [this message]
2018-07-04  7:34   ` Tomi Sarvela

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1530637971.2625.3.camel@intel.com \
    --to=paulo.r.zanoni@intel.com \
    --cc=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=mathias.nyman@linux.intel.com \
    --cc=tomi.p.sarvela@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.