Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3148d29a authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: dwc3: Avoid CLR block DB if run/stop is cleared"

parents 6cc5f7bf 3e007f7d
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -1673,6 +1673,7 @@ static void gsi_set_clear_dbell(struct usb_ep *ep,
	struct dwc3 *dwc = dep->dwc;
	struct dwc3_msm *mdwc = dev_get_drvdata(dwc->dev->parent);

	dbg_log_string("block_db(%d)", block_db);
	dwc3_msm_write_reg_field(mdwc->base, GSI_GENERAL_CFG_REG(mdwc->gsi_reg),
		BLOCK_GSI_WR_GO_MASK, block_db);
}
@@ -1807,6 +1808,14 @@ int usb_gsi_ep_op(struct usb_ep *ep, void *op_data, enum gsi_ep_op op)
		break;
	case GSI_EP_OP_SET_CLR_BLOCK_DBL:
		block_db = *((bool *)op_data);
		spin_lock_irqsave(&dwc->lock, flags);
		if (!dwc->pullups_connected && !block_db) {
			dbg_log_string("No Pullup\n");
			spin_unlock_irqrestore(&dwc->lock, flags);
			return -ESHUTDOWN;
		}

		spin_unlock_irqrestore(&dwc->lock, flags);
		gsi_set_clear_dbell(ep, block_db);
		break;
	case GSI_EP_OP_CHECK_FOR_SUSPEND: