]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
r8152: fix incorrect register write to USB_UPHY_XTAL
authorChih Kai Hsu <hsu.chih.kai@realtek.com>
Thu, 26 Mar 2026 07:39:23 +0000 (15:39 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 31 Mar 2026 08:28:26 +0000 (10:28 +0200)
The old code used ocp_write_byte() to clear the OOBS_POLLING bit
(BIT(8)) in the USB_UPHY_XTAL register, but this doesn't correctly
clear a bit in the upper byte of the 16-bit register.

Fix this by using ocp_write_word() instead.

Fixes: 195aae321c82 ("r8152: support new chips")
Signed-off-by: Chih Kai Hsu <hsu.chih.kai@realtek.com>
Reviewed-by: Hayes Wang <hayeswang@realtek.com>
Link: https://patch.msgid.link/20260326073925.32976-454-nic_swsd@realtek.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/usb/r8152.c

index 3b6d4252d34c63ead8f11a120e212325a5f7d505..bef0611e7ef03ccd900fbf6ab23b08fdd010794f 100644 (file)
@@ -3892,7 +3892,7 @@ static void r8156_ups_en(struct r8152 *tp, bool enable)
                case RTL_VER_15:
                        ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_UPHY_XTAL);
                        ocp_data &= ~OOBS_POLLING;
-                       ocp_write_byte(tp, MCU_TYPE_USB, USB_UPHY_XTAL, ocp_data);
+                       ocp_write_word(tp, MCU_TYPE_USB, USB_UPHY_XTAL, ocp_data);
                        break;
                default:
                        break;