mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-24 21:31:01 -04:00
usb: typec: Prepare alt mode enter/exit reporting for UCSI alt mode support
Because of UCSI, we have to support alt mode enter/exit reporting even when there is no alt mode driver bind to the alt mode device. With UCSI a firmware handles the alternate modes, and the modes are entered automatically from OS PoW. Changing typec_altmode_update_active() so that the driver module ref count is incremented/decremented only if there really is a driver for the alt mode. That avoids a NULL pointer dereference from happening when the driver is missing. Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
382e8fa80d
commit
b0fcdffdd6
@@ -277,7 +277,7 @@ void typec_altmode_update_active(struct typec_altmode *adev, bool active)
|
||||
if (adev->active == active)
|
||||
return;
|
||||
|
||||
if (!is_typec_port(adev->dev.parent)) {
|
||||
if (!is_typec_port(adev->dev.parent) && adev->dev.driver) {
|
||||
if (!active)
|
||||
module_put(adev->dev.driver->owner);
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user