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

Commit 73309377 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 887fabcf 14e3b5ce
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2012-2019, The Linux Foundation. All rights reserved.
 * Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
 */

#include <linux/module.h>
@@ -1444,6 +1444,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[GENERAL_CFG_REG]),
		BLOCK_GSI_WR_GO_MASK, block_db);
@@ -1579,6 +1580,11 @@ static int dwc3_msm_gsi_ep_op(struct usb_ep *ep,
		break;
	case GSI_EP_OP_SET_CLR_BLOCK_DBL:
		block_db = *((bool *)op_data);
		if (!dwc->pullups_connected && !block_db) {
			dbg_log_string("No Pullup\n");
			return -ESHUTDOWN;
		}

		gsi_set_clear_dbell(ep, block_db);
		break;
	case GSI_EP_OP_CHECK_FOR_SUSPEND: