summaryrefslogtreecommitdiffstats
path: root/drivers/usb/typec/tcpm.c
diff options
context:
space:
mode:
authorHeikki Krogerus2018-04-30 14:41:56 +0200
committerGreg Kroah-Hartman2018-05-03 19:55:27 +0200
commit5671a4608c326b8ec16dec2f0f32e64a33cdd317 (patch)
tree24b7a3d4699f809e4b077011cd4ed1453497361a /drivers/usb/typec/tcpm.c
parentUSB: Accept bulk endpoints with 1024-byte maxpacket (diff)
downloadkernel-qcow2-linux-5671a4608c326b8ec16dec2f0f32e64a33cdd317.tar.gz
kernel-qcow2-linux-5671a4608c326b8ec16dec2f0f32e64a33cdd317.tar.xz
kernel-qcow2-linux-5671a4608c326b8ec16dec2f0f32e64a33cdd317.zip
usb: typec: tcpm: Release the role mux when exiting
The ref count for the USB role switch device must be released after we are done using the switch. Fixes: c6962c29729c ("usb: typec: tcpm: Set USB role switch to device mode when configured as such") Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/typec/tcpm.c')
-rw-r--r--drivers/usb/typec/tcpm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c
index 677d12138dbd..ded49e3bf2b0 100644
--- a/drivers/usb/typec/tcpm.c
+++ b/drivers/usb/typec/tcpm.c
@@ -3725,6 +3725,7 @@ void tcpm_unregister_port(struct tcpm_port *port)
for (i = 0; i < ARRAY_SIZE(port->port_altmode); i++)
typec_unregister_altmode(port->port_altmode[i]);
typec_unregister_port(port->typec_port);
+ usb_role_switch_put(port->role_sw);
tcpm_debugfs_exit(port);
destroy_workqueue(port->wq);
}