The return value of cdnsp_get_transfer_ring() needs to be checked to avoid use of NULL pointer in case of an acquisition failure. Fixes: 3d8290455 ("usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver") Signed-off-by: Yongzhi Liu <lyz_cs@xxxxxxxxxx> --- drivers/usb/cdns3/cdnsp-ring.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/usb/cdns3/cdnsp-ring.c b/drivers/usb/cdns3/cdnsp-ring.c index 1b14384..9f206b9 100644 --- a/drivers/usb/cdns3/cdnsp-ring.c +++ b/drivers/usb/cdns3/cdnsp-ring.c @@ -655,6 +655,8 @@ static int cdnsp_cmd_set_deq(struct cdnsp_device *pdev, * to reflect the new position. */ ep_ring = cdnsp_get_transfer_ring(pdev, pep, deq_state->stream_id); + if (!ep_ring) + return -EINVAL; if (cdnsp_trb_is_link(ep_ring->dequeue)) { ep_ring->deq_seg = ep_ring->deq_seg->next; -- 2.7.4