mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 23:51:37 +00:00
usb: chipidea: core: fix possible constant 0 if use IS_ERR(ci->role_switch)
After successfully probed, ci->role_switch would only be NULL or a valid
pointer. IS_ERR(ci->role_switch) will always return 0. So no need to wrap
it with IS_ERR, otherwise the logic is wrong.
Fixes: e1b5d2bed6
("usb: chipidea: core: handle usb role switch in a common way")
cc: <stable@vger.kernel.org>
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Link: https://lore.kernel.org/r/20221215055409.3760523-1-xu.yang_2@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
74622f0a81
commit
f96c038404
@ -1294,12 +1294,12 @@ static void ci_extcon_wakeup_int(struct ci_hdrc *ci)
|
||||
cable_id = &ci->platdata->id_extcon;
|
||||
cable_vbus = &ci->platdata->vbus_extcon;
|
||||
|
||||
if ((!IS_ERR(cable_id->edev) || !IS_ERR(ci->role_switch))
|
||||
if ((!IS_ERR(cable_id->edev) || ci->role_switch)
|
||||
&& ci->is_otg &&
|
||||
(otgsc & OTGSC_IDIE) && (otgsc & OTGSC_IDIS))
|
||||
ci_irq(ci);
|
||||
|
||||
if ((!IS_ERR(cable_vbus->edev) || !IS_ERR(ci->role_switch))
|
||||
if ((!IS_ERR(cable_vbus->edev) || ci->role_switch)
|
||||
&& ci->is_otg &&
|
||||
(otgsc & OTGSC_BSVIE) && (otgsc & OTGSC_BSVIS))
|
||||
ci_irq(ci);
|
||||
|
Loading…
Reference in New Issue
Block a user