From 282bfc6c30c060ffe4cf34052aa90d43d6bc07ae Mon Sep 17 00:00:00 2001 From: RD Babiera Date: Tue, 27 Feb 2024 21:50:35 +0000 Subject: [PATCH] UPSTREAM: Revert "usb: typec: class: fix typec_altmode_put_partner to put plugs" This reverts commit b17b7fe6dd5c6ff74b38b0758ca799cdbb79e26e. That commit messed up the reference counting, so it needs to be rethought. Fixes: b17b7fe6dd5c ("usb: typec: class: fix typec_altmode_put_partner to put plugs") Cc: stable@vger.kernel.org Cc: RD Babiera Reported-by: Chris Bainbridge Closes: https://lore.kernel.org/lkml/CAP-bSRb3SXpgo_BEdqZB-p1K5625fMegRZ17ZkPE1J8ZYgEHDg@mail.gmail.com/ Signed-off-by: Heikki Krogerus Bug: 324496488 (cherry picked from commit 9c6b789e954fae73c548f39332bcc56bdf0d4373) Signed-off-by: RD Babiera (cherry picked from https://android-review.googlesource.com/q/commit:27167a6e39a6894d905ea97aece1aa9f0120f452) Merged-In: I2755a5e44dd1970d60e5d996dd7fc6d88f79684a Change-Id: I2755a5e44dd1970d60e5d996dd7fc6d88f79684a --- drivers/usb/typec/class.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c index ea86195c75b8..339752fef65e 100644 --- a/drivers/usb/typec/class.c +++ b/drivers/usb/typec/class.c @@ -265,7 +265,7 @@ static void typec_altmode_put_partner(struct altmode *altmode) if (!partner) return; - adev = &altmode->adev; + adev = &partner->adev; if (is_typec_plug(adev->dev.parent)) { struct typec_plug *plug = to_typec_plug(adev->dev.parent); @@ -495,8 +495,7 @@ static void typec_altmode_release(struct device *dev) { struct altmode *alt = to_altmode(to_typec_altmode(dev)); - if (!is_typec_port(dev->parent)) - typec_altmode_put_partner(alt); + typec_altmode_put_partner(alt); altmode_id_remove(alt->adev.dev.parent, alt->id); kfree(alt);