patch "usb: chipidea: core: fix possible constant 0 if use" added to usb-linus
Subsystems (3)
This is a note to let you know that I've just added the patch titled
usb: chipidea: core: fix possible constant 0 if use
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
From f96c0384047257365371a8ac217107c0371586f1 Mon Sep 17 00:00:00 2001
From: Xu Yang <[email protected]>
Date: Thu, 15 Dec 2022 13:54:09 +0800
Subject: 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.
--- drivers/usb/chipidea/core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/usb/chipidea/core.c +2 -2
@@ -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);
Signature · 1 line
2.39.0