From dd01b0541be38894c05f0dad2dad135ef1a9da6b Mon Sep 17 00:00:00 2001 From: Andrew Goodbody Date: Tue, 30 Sep 2025 17:06:44 +0100 Subject: [PATCH] usb: ulpi: Incorrect operator used Combining two bits into a mask to be used so that the same write code can be used to set or reset bits in a register clearly needs to use the binary 'or' operator, not the binary 'and'. Fix it. This issue was found by Smatch. Signed-off-by: Andrew Goodbody --- drivers/usb/ulpi/ulpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/ulpi/ulpi.c b/drivers/usb/ulpi/ulpi.c index 128adcbde13..0e0f0e4983d 100644 --- a/drivers/usb/ulpi/ulpi.c +++ b/drivers/usb/ulpi/ulpi.c @@ -127,7 +127,7 @@ int ulpi_set_vbus_indicator(struct ulpi_viewport *ulpi_vp, int external, if (val == ULPI_ERROR) return val; - val = val & ~(ULPI_IFACE_PASSTHRU & ULPI_IFACE_EXTVBUS_COMPLEMENT); + val = val & ~(ULPI_IFACE_PASSTHRU | ULPI_IFACE_EXTVBUS_COMPLEMENT); val |= flags; val = ulpi_write(ulpi_vp, &ulpi->iface_ctrl, val); if (val) -- 2.47.3