usb: xhci-mtk: remove or operator for setting schedule parameters
Side effect may happen if use or operator to set schedule parameters
when the parameters are already set before. Set them directly due to
other bits are reserved.
Fixes: 54f6a8af37
("usb: xhci-mtk: skip dropping bandwidth of unchecked endpoints")
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/d287899e6beb2fc1bfb8900c75a872f628ecde55.1615170625.git.chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
0f3edf99c2
commit
5fa5827566
@ -643,7 +643,7 @@ int xhci_mtk_add_ep_quirk(struct usb_hcd *hcd, struct usb_device *udev,
|
||||
*/
|
||||
if (usb_endpoint_xfer_int(&ep->desc)
|
||||
|| usb_endpoint_xfer_isoc(&ep->desc))
|
||||
ep_ctx->reserved[0] |= cpu_to_le32(EP_BPKTS(1));
|
||||
ep_ctx->reserved[0] = cpu_to_le32(EP_BPKTS(1));
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -730,10 +730,10 @@ int xhci_mtk_check_bandwidth(struct usb_hcd *hcd, struct usb_device *udev)
|
||||
list_move_tail(&sch_ep->endpoint, &sch_bw->bw_ep_list);
|
||||
|
||||
ep_ctx = xhci_get_ep_ctx(xhci, virt_dev->in_ctx, ep_index);
|
||||
ep_ctx->reserved[0] |= cpu_to_le32(EP_BPKTS(sch_ep->pkts)
|
||||
ep_ctx->reserved[0] = cpu_to_le32(EP_BPKTS(sch_ep->pkts)
|
||||
| EP_BCSCOUNT(sch_ep->cs_count)
|
||||
| EP_BBM(sch_ep->burst_mode));
|
||||
ep_ctx->reserved[1] |= cpu_to_le32(EP_BOFFSET(sch_ep->offset)
|
||||
ep_ctx->reserved[1] = cpu_to_le32(EP_BOFFSET(sch_ep->offset)
|
||||
| EP_BREPEAT(sch_ep->repeat));
|
||||
|
||||
xhci_dbg(xhci, " PKTS:%x, CSCOUNT:%x, BM:%x, OFFSET:%x, REPEAT:%x\n",
|
||||
|
Loading…
Reference in New Issue
Block a user