summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorNiklas Neronin <niklas.neronin@linux.intel.com>2026-04-02 16:13:35 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-04-02 15:55:38 +0200
commitf84965acad118b19ddaa02fbea0a4c2d079c3fb7 (patch)
tree3d0483daf28447b4c08de916c6462a158859e6c5 /drivers
parent4515039a8a1bea2055e8f10e88560684d0ea0257 (diff)
usb: xhci: add PORTPMSC variable to xhci_hub_control()
The code handling U1/U2 timeout updates reads and modifies the PORTPMSC register using the generic 'temp' variable, which is also used for PORTSC. This makes the code hard to read and increases the risk of mixing up register contents. Introduce a dedicated 'portpmsc' variable for PORTPMSC accesses and use it in both U1 and U2 timeout handlers. This makes the intent clearer and keeps register operations logically separated. Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Link: https://patch.msgid.link/20260402131342.2628648-19-mathias.nyman@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/host/xhci-hub.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
index 7fb17799cfdc..4da3b48dfce0 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
@@ -1202,7 +1202,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
int max_ports;
unsigned long flags;
- u32 temp, status;
+ u32 temp, portpmsc, status;
int retval = 0;
struct xhci_bus_state *bus_state;
u16 link_state;
@@ -1508,20 +1508,20 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
goto error;
timeout = (wIndex & 0xff00) >> 8;
- temp = readl(&port->port_reg->portpmsc);
- temp &= ~PORT_U1_TIMEOUT_MASK;
- temp |= PORT_U1_TIMEOUT(timeout);
- writel(temp, &port->port_reg->portpmsc);
+ portpmsc = readl(&port->port_reg->portpmsc);
+ portpmsc &= ~PORT_U1_TIMEOUT_MASK;
+ portpmsc |= PORT_U1_TIMEOUT(timeout);
+ writel(portpmsc, &port->port_reg->portpmsc);
break;
case USB_PORT_FEAT_U2_TIMEOUT:
if (hcd->speed < HCD_USB3)
goto error;
timeout = (wIndex & 0xff00) >> 8;
- temp = readl(&port->port_reg->portpmsc);
- temp &= ~PORT_U2_TIMEOUT_MASK;
- temp |= PORT_U2_TIMEOUT(timeout);
- writel(temp, &port->port_reg->portpmsc);
+ portpmsc = readl(&port->port_reg->portpmsc);
+ portpmsc &= ~PORT_U2_TIMEOUT_MASK;
+ portpmsc |= PORT_U2_TIMEOUT(timeout);
+ writel(portpmsc, &port->port_reg->portpmsc);
break;
case USB_PORT_FEAT_TEST:
/* 4.19.6 Port Test Modes (USB2 Test Mode) */