On Sat, 09 Dec 2023 22:18:29 +0100, Gergo Koteles wrote: > > Unloading then loading the module causes a NULL ponter dereference. > > The hda_unbind zeroes the hda_component, later the hda_bind tries > to dereference the codec field. > > The hda_component is only initialized once by tas2781_generic_fixup. > > Set only previously modified fields to NULL. > > BUG: kernel NULL pointer dereference, address: 0000000000000322 > Call Trace: > <TASK> > ? __die+0x23/0x70 > ? page_fault_oops+0x171/0x4e0 > ? exc_page_fault+0x7f/0x180 > ? asm_exc_page_fault+0x26/0x30 > ? tas2781_hda_bind+0x59/0x140 [snd_hda_scodec_tas2781_i2c] > component_bind_all+0xf3/0x240 > try_to_bring_up_aggregate_device+0x1c3/0x270 > __component_add+0xbc/0x1a0 > tas2781_hda_i2c_probe+0x289/0x3a0 [snd_hda_scodec_tas2781_i2c] > i2c_device_probe+0x136/0x2e0 > > Fixes: 5be27f1e3ec9 ("ALSA: hda/tas2781: Add tas2781 HDA driver") > CC: stable@xxxxxxxxxxxxxxx > Signed-off-by: Gergo Koteles <soyer@xxxxxx> Thanks, applied now. Takashi