https://bugzilla.suse.com/show_bug.cgi?id=1202386
https://bugzilla.suse.com/show_bug.cgi?id=1202386#c29
--- Comment #29 from Takashi Iwai ---
Thanks, that helped understanding what's going on there.
I guess the problem is the upstream commit
87d0e2f41b8cc2018499be4e8003fa8c09b6f2fb
usb: typec: ucsi: add a common function ucsi_unregister_connectors()
This commit looks as if it were a harmless cleanup, but this failed in a subtle
way.
Namely, in the error scenario, the driver gets an error at
ucsi_register_altmodes(), and goes to the error handling to release the
resources. Through this refactoring, the release part was unified to a
funciton ucsi_unregister_connectors(). And there, it has a NULL check of
con->wq, and it bails out the loop if it's NULL.
Meanwhile, ucsi_register_port() itself still calls destroy_workqueue() and
clear con->wq at its error path. This ended up in the leftover power supply
device with the uninitialized / cleared device.
Now I'm building yet another kernel with the revert of the commit above in OBS
home:tiwai:bsc1202386-2 repo. The test kernel will appear at
http://download.opensuse.org/repositories/home:/tiwai:/bsc1202386-2/standard...
Please give it a try later.
--
You are receiving this mail because:
You are the assignee for the bug.