usb: common: usb-conn-gpio: Prevent bailing out if initial role is none
authorPrashanth K <quic_prashk@quicinc.com>
Tue, 1 Aug 2023 09:03:52 +0000 (14:33 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 4 Aug 2023 12:57:04 +0000 (14:57 +0200)
commit8e21a620c7e6e00347ade1a6ed4967b359eada5a
treebf4a740a9a432c725994a18ea366a8aeb299b1a7
parent65dadb2beeb7360232b09ebc4585b54475dfee06
usb: common: usb-conn-gpio: Prevent bailing out if initial role is none

Currently if we bootup a device without cable connected, then
usb-conn-gpio won't call set_role() because last_role is same
as current role. This happens since last_role gets initialised
to zero during the probe.

To avoid this, add a new flag initial_detection into struct
usb_conn_info, which prevents bailing out during initial
detection.

Cc: <stable@vger.kernel.org> # 5.4
Fixes: 4602f3bff266 ("usb: common: add USB GPIO based connection detection driver")
Signed-off-by: Prashanth K <quic_prashk@quicinc.com>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/1690880632-12588-1-git-send-email-quic_prashk@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/common/usb-conn-gpio.c