[stupid google spam filtered _this_ as spam, I don't know why]
On Wed, Aug 23, 2017 at 10:28:28AM +0100, Mark Brown wrote:
On Tue, Aug 22, 2017 at 09:51:46PM -0400, Tom Rini wrote:
Not all devices with ACPI and this combination of sound devices will have the required information provided via ACPI. Reintroduce the I2C device ID to restore sound functionality on on the Chromebook 'Samus' model.
{ "rt5677", RT5677 }, { "rt5676", RT5676 },
- { "RT5677CE:00", RT5677 }, { }
};
You're going to have to provide a clearer changelog here, that's obviously an ACPI ID...
After looking at 89128534f925 (which introduced the above line, and thus support for the Chromebook), I think that 36afb0ab648 and 55e59aa0525a are wrong and should be reverted. It seems like they're an attempt to make 89128534f925 be done 'properly' but it also seems like the Chromebook is the only platform in question that triggers that code and it results in a NULL pointer dereference, so it's a regression on the only platform that makes use of the code paths in question. I'd also be happy to try a patch on top of master to see if that resolves things. The oops in question looks like: BUG: unable to handle kernel NULL pointer dereference at 0000000000000018 IP: rt5677_i2c_probe+0x4a/0x730 [snd_soc_rt5677] PGD 0 P4D 0
Oops: 0000 [#1] SMP Modules linked in: snd_soc_rt5677(+) btusb(+) btrtl iwlwifi(+) snd_soc_rl6231 btbcm snd_ CPU: 1 PID: 403 Comm: systemd-udevd Not tainted 4.12.0-rc1ph+ #119 Hardware name: GOOGLE Samus, BIOS 04/02/2015 task: ffff947de8ca1cc0 task.stack: ffffaf5641fe0000 RIP: 0010:rt5677_i2c_probe+0x4a/0x730 [snd_soc_rt5677] RSP: 0000:ffffaf5641fe3b30 EFLAGS: 00010246 RAX: ffff947de8e02618 RBX: ffff947de8e02618 RCX: 0000000000000000 RDX: 0000000000000001 RSI: 0000000000000286 RDI: ffff947dec7ece98 RBP: ffffaf5641fe3b68 R08: ffff947dfec9bda0 R09: ffff947de8e02600 R10: ffff947dfec9bd20 R11: ffffd7ef91a12180 R12: ffff947dec7ecc20 R13: ffff947dec7ecc00 R14: 0000000000000000 R15: 0000000000000000 FS: 00007f9bd7fdb8c0(0000) GS:ffff947dfec80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000018 CR3: 000000046872b000 CR4: 00000000003406e0 Call Trace: ? acpi_dev_pm_attach+0xa4/0xe0 ? rt5677_to_irq+0xe0/0xe0 [snd_soc_rt5677] i2c_device_probe+0x17c/0x230 driver_probe_device+0x2a1/0x460 __driver_attach+0xd8/0xe0 ? driver_probe_device+0x460/0x460 bus_for_each_dev+0x58/0x90 driver_attach+0x19/0x20 bus_add_driver+0x40/0x270 driver_register+0x5b/0xe0 i2c_register_driver+0x3b/0x80 ? 0xffffffffc072b000 rt5677_i2c_driver_init+0x17/0x1000 [snd_soc_rt5677] do_one_initcall+0x4c/0x1a0 ? kmem_cache_alloc+0xf7/0x150 do_init_module+0x56/0x1e8 load_module+0x1f54/0x2710 ? symbol_put_addr+0x30/0x30 SyS_finit_module+0x96/0xd0 do_syscall_64+0x4e/0xb0 entry_SYSCALL64_slow_path+0x25/0x25