Message ID | 20180702135756.12159-1-imre.deak@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Quoting Imre Deak (2018-07-02 14:57:56) > Work around the following boot time crash: > > [ 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> T-b Tomi? -Chris
On 07/02/2018 11:18 PM, Chris Wilson wrote: > Quoting Imre Deak (2018-07-02 14:57:56) >> Work around the following boot time crash: >> >> [ 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 ... >> >> Cc: Chris Wilson <chris@chris-wilson.co.uk> >> Signed-off-by: Imre Deak <imre.deak@intel.com> > > T-b Tomi? > -Chris Tested with pre-release ICL hardware, and the patch helps with this particular boot-time crash. Tested-by: Tomi Sarvela <tomi.p.sarvela@intel.com> Tomi
Quoting Tomi Sarvela (2018-07-03 08:15:05) > On 07/02/2018 11:18 PM, Chris Wilson wrote: > > Quoting Imre Deak (2018-07-02 14:57:56) > >> Work around the following boot time crash: > >> > >> [ 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 > ... > >> > >> Cc: Chris Wilson <chris@chris-wilson.co.uk> > >> Signed-off-by: Imre Deak <imre.deak@intel.com> > > > > T-b Tomi? > > -Chris > > Tested with pre-release ICL hardware, and the patch helps with this > particular boot-time crash. > > Tested-by: Tomi Sarvela <tomi.p.sarvela@intel.com> And plonked onto topic/core-for-CI. Imre I trust you'll raise the issue with the authors? -Chris
On Tue, Jul 03, 2018 at 10:22:51AM +0100, Chris Wilson wrote: > Quoting Tomi Sarvela (2018-07-03 08:15:05) > > On 07/02/2018 11:18 PM, Chris Wilson wrote: > > > Quoting Imre Deak (2018-07-02 14:57:56) > > >> Work around the following boot time crash: > > >> > > >> [ 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 > > ... > > >> > > >> Cc: Chris Wilson <chris@chris-wilson.co.uk> > > >> Signed-off-by: Imre Deak <imre.deak@intel.com> > > > > > > T-b Tomi? > > > -Chris > > > > Tested with pre-release ICL hardware, and the patch helps with this > > particular boot-time crash. > > > > Tested-by: Tomi Sarvela <tomi.p.sarvela@intel.com> > > And plonked onto topic/core-for-CI. Imre I trust you'll raise the issue > with the authors? Mathias from the USB team is looking into it, I'll follow up on the progress of that. --Imre
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); > } >
On 07/03/2018 08:12 PM, Paulo Zanoni wrote: > 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? From the CI kernel configuration: CONFIG_SLUB=y # CONFIG_SLOB is not set CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLAB_FREELIST_RANDOM is not set # CONFIG_SLAB_FREELIST_HARDENED is not set CONFIG_SLUB_CPU_PARTIAL=y # CONFIG_PROFILING is not set Tomi > > 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); >> } >> Tomi
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); }
Work around the following boot time crash: [ 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(+)