Commit b0876574 authored by Stephen Warren's avatar Stephen Warren Committed by Greg Kroah-Hartman

USB: ehci-tegra: remove PORT_RWC_BITS when setting USB_PORT_FEAT_ENABLE

In the SetPortFeature/USB_PORT_FEAT_ENABLE case, ehci_hub_control()
would read from status_reg, modify the value, and write the result back to
status_reg. This would clear any bits in PORT_RWC_BITS that were set in
the register. Fix this by masking these bits off before the write.

This is logically the same change as 6d5f89c "USB: EHCI: remove
PORT_RWC_BITS when clearing USB_PORT_FEAT_ENABLE", but applied to the
Tegra driver rather than the USB core.
Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent af4e1ee0
...@@ -164,7 +164,7 @@ static int tegra_ehci_hub_control( ...@@ -164,7 +164,7 @@ static int tegra_ehci_hub_control(
goto done; goto done;
} }
temp &= ~PORT_WKCONN_E; temp &= ~(PORT_RWC_BITS | PORT_WKCONN_E);
temp |= PORT_WKDISC_E | PORT_WKOC_E; temp |= PORT_WKDISC_E | PORT_WKOC_E;
ehci_writel(ehci, temp | PORT_SUSPEND, status_reg); ehci_writel(ehci, temp | PORT_SUSPEND, status_reg);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment