Message ID | 20210305050028.3329-1-pawell@gli-login.cadence.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | usb: cdnsp: Fixes incorrect value in ISOC TRB | expand |
Hi, Please ignore this patch. I put incorrect address to Peter. I have sent again this patch with correct email address. >-----Original Message----- >From: Pawel Laszczak <pawell@cadence.com> >Sent: Friday, March 5, 2021 6:00 AM >To: peter.chen@nxp.com >Cc: gregkh@linuxfoundation.org; linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org; Rahul Kumar <kurahul@cadence.com>; >Sanket Parmar <sparmar@cadence.com>; Pawel Laszczak <pawell@cadence.com> >Subject: [PATCH] usb: cdnsp: Fixes incorrect value in ISOC TRB > >From: Pawel Laszczak <pawell@cadence.com> > >The value "start_cycle ? 0 : 1" in assignment caused >implicit truncation whole value to 1 byte. >To fix the issue, an explicit casting has been added. > >Fixes: commit 3d82904559f4 ("usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver") >Signed-off-by: Pawel Laszczak <pawell@cadence.com> >--- > drivers/usb/cdns3/cdnsp-ring.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/drivers/usb/cdns3/cdnsp-ring.c b/drivers/usb/cdns3/cdnsp-ring.c >index f9170d177a89..d35bc4490216 100644 >--- a/drivers/usb/cdns3/cdnsp-ring.c >+++ b/drivers/usb/cdns3/cdnsp-ring.c >@@ -2197,7 +2197,7 @@ static int cdnsp_queue_isoc_tx(struct cdnsp_device *pdev, > * inverted in the first TDs isoc TRB. > */ > field = TRB_TYPE(TRB_ISOC) | TRB_TLBPC(last_burst_pkt) | >- start_cycle ? 0 : 1 | TRB_SIA | TRB_TBC(burst_count); >+ (u32)(start_cycle ? 0 : 1) | TRB_SIA | TRB_TBC(burst_count); > > /* Fill the rest of the TRB fields, and remaining normal TRBs. */ > for (i = 0; i < trbs_per_td; i++) { >-- >2.25.1 Regards, Pawel Laszczak
diff --git a/drivers/usb/cdns3/cdnsp-ring.c b/drivers/usb/cdns3/cdnsp-ring.c index f9170d177a89..d35bc4490216 100644 --- a/drivers/usb/cdns3/cdnsp-ring.c +++ b/drivers/usb/cdns3/cdnsp-ring.c @@ -2197,7 +2197,7 @@ static int cdnsp_queue_isoc_tx(struct cdnsp_device *pdev, * inverted in the first TDs isoc TRB. */ field = TRB_TYPE(TRB_ISOC) | TRB_TLBPC(last_burst_pkt) | - start_cycle ? 0 : 1 | TRB_SIA | TRB_TBC(burst_count); + (u32)(start_cycle ? 0 : 1) | TRB_SIA | TRB_TBC(burst_count); /* Fill the rest of the TRB fields, and remaining normal TRBs. */ for (i = 0; i < trbs_per_td; i++) {