]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
usb: roles: don't get/set_role() when usb_role_switch is unregistered
authorXu Yang <xu.yang_2@nxp.com>
Mon, 29 Jan 2024 09:37:39 +0000 (17:37 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Mar 2024 12:35:02 +0000 (13:35 +0100)
commit6aba8cf676c0073ac6d1be3bd70886b590af5637
treebbff37f470281c1fc31d461db406d7e293498953
parent4b45829440b1b208948b39cc71f77a37a2536734
usb: roles: don't get/set_role() when usb_role_switch is unregistered

commit b787a3e781759026a6212736ef8e52cf83d1821a upstream.

There is a possibility that usb_role_switch device is unregistered before
the user put usb_role_switch. In this case, the user may still want to
get/set_role() since the user can't sense the changes of usb_role_switch.

This will add a flag to show if usb_role_switch is already registered and
avoid unwanted behaviors.

Fixes: fde0aa6c175a ("usb: common: Small class for USB role switches")
cc: stable@vger.kernel.org
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20240129093739.2371530-2-xu.yang_2@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/roles/class.c