From c6822904f906d3a43d229090a9d91c870d3f997e Mon Sep 17 00:00:00 2001 From: Jack Pham Date: Mon, 18 Nov 2019 18:30:36 -0800 Subject: [PATCH] usb: dwc3-msm: Fix usage of find_matching_dbm_ep() Since there is no longer an endless flag in struct usb_ep, we simply allow some DBM specific functions to be called unconditionally, expecting find_matching_dbm_ep() to succeed only if it was set up to be a DBM endpoint. Thus in non-DBM cases it is expected to return -ENODEV, which we can just return directly and fail silently without an error message. Change-Id: Idc3d2fc5c00f8149baec4c17872b99c3bd96665b Signed-off-by: Jack Pham --- drivers/usb/dwc3/dwc3-msm.c | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/drivers/usb/dwc3/dwc3-msm.c b/drivers/usb/dwc3/dwc3-msm.c index 550ad95cc71c..ae3acf280756 100644 --- a/drivers/usb/dwc3/dwc3-msm.c +++ b/drivers/usb/dwc3/dwc3-msm.c @@ -706,11 +706,8 @@ static int dwc3_msm_dbm_disable_updxfer(struct dwc3 *dwc, u8 usb_ep) dev_dbg(mdwc->dev, "%s\n", __func__); dbm_ep = find_matching_dbm_ep(mdwc, usb_ep); - - if (dbm_ep < 0) { - pr_err("usb ep index %d has no corresponding dbm ep\n", usb_ep); - return -ENODEV; - } + if (dbm_ep < 0) + return dbm_ep; data = msm_dbm_read_reg(mdwc, DBM_DISABLE_UPDXFER); data |= (0x1 << dbm_ep); @@ -871,11 +868,8 @@ int msm_dwc3_reset_dbm_ep(struct usb_ep *ep) int dbm_ep; dbm_ep = find_matching_dbm_ep(mdwc, dep->number); - - if (dbm_ep >= mdwc->dbm_num_eps) { - pr_err("Invalid DBM ep index %d\n", dbm_ep); - return -ENODEV; - } + if (dbm_ep < 0) + return dbm_ep; dev_dbg(mdwc->dev, "Resetting endpoint %d, DBM ep %d\n", dep->number, dbm_ep); @@ -1820,11 +1814,8 @@ static int dbm_ep_config(struct dwc3_msm *mdwc, u8 usb_ep, u8 bam_pipe, dev_dbg(mdwc->dev, "Configuring DBM ep\n"); dbm_ep = find_matching_dbm_ep(mdwc, usb_ep); - - if (dbm_ep < 0) { - pr_err("usb ep index %d has no corresponding dbm ep\n", usb_ep); - return -ENODEV; - } + if (dbm_ep < 0) + return dbm_ep; /* Due to HW issue, EP 7 can be set as IN EP only */ if (!mdwc->dbm_is_1p4 && dbm_ep == 7 && producer) { @@ -1987,12 +1978,8 @@ static int dbm_ep_unconfig(struct dwc3_msm *mdwc, u8 usb_ep) dev_dbg(mdwc->dev, "Unconfiguring DB ep\n"); dbm_ep = find_matching_dbm_ep(mdwc, usb_ep); - - if (dbm_ep < 0) { - dev_info(mdwc->dev, "usb ep index %d has no corespondng dbm ep\n", - usb_ep); - return -ENODEV; - } + if (dbm_ep < 0) + return dbm_ep; mdwc->dbm_ep_num_mapping[dbm_ep] = 0;