diff --git a/drivers/usb/dwc3/dwc3-msm.c b/drivers/usb/dwc3/dwc3-msm.c index 980eae30e933..c7b72e9f60a1 100644 --- a/drivers/usb/dwc3/dwc3-msm.c +++ b/drivers/usb/dwc3/dwc3-msm.c @@ -1238,7 +1238,7 @@ static int gsi_startxfer_for_ep(struct usb_ep *ep, struct usb_gsi_request *req) memset(¶ms, 0, sizeof(params)); params.param0 = GSI_TRB_ADDR_BIT_53_MASK | GSI_TRB_ADDR_BIT_55_MASK; params.param0 |= upper_32_bits(dwc3_trb_dma_offset(dep, - &dep->trb_pool[0]) & 0xffff); + &dep->trb_pool[0])) & 0xffff; params.param0 |= (req->ep_intr_num << 16); params.param1 = lower_32_bits(dwc3_trb_dma_offset(dep, &dep->trb_pool[0])); @@ -1486,7 +1486,7 @@ static int gsi_prepare_trbs(struct usb_ep *ep, struct usb_gsi_request *req) /* Set up the Link TRB at the end */ trb->bpl = lower_32_bits(trb0_dma); - trb->bph = upper_32_bits(trb0_dma & 0xffff); + trb->bph = upper_32_bits(trb0_dma) & 0xffff; trb->bph |= (1 << 23) | (1 << 21) | (req->ep_intr_num << 16); trb->ctrl = DWC3_TRBCTL_LINK_TRB | DWC3_TRB_CTRL_HWO; } else { /* OUT direction */ @@ -1508,7 +1508,7 @@ static int gsi_prepare_trbs(struct usb_ep *ep, struct usb_gsi_request *req) /* Set up the Link TRB at the end */ trb->bpl = lower_32_bits(trb0_dma); - trb->bph = upper_32_bits(trb0_dma & 0xffff); + trb->bph = upper_32_bits(trb0_dma) & 0xffff; trb->bph |= (1 << 23) | (1 << 21) | (req->ep_intr_num << 16); trb->ctrl = DWC3_TRBCTL_LINK_TRB | DWC3_TRB_CTRL_HWO; }