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

Commit df8cfcb4 authored by Jack Pham's avatar Jack Pham Committed by Matt Wagantall
Browse files

usb: gadget: qdss: Fix control transport handling



commit 2ff2189 ("USB: QTI_DPL: Add support for QTI control with
DPL") added support for control transports to enable the DPL
feature, however the checks added in usb_qdss_connect_work()
and usb_qdss_disconnect_work() incorrectly return if the
ctrl_xports is unspecified. This breaks QDSS since this should
be treated as an optional parameter.

Change-Id: Ifc6051009b1a4d016948156ac0a65ab3923b6043
Signed-off-by: default avatarJack Pham <jackp@codeaurora.org>
parent e883289f
Loading
Loading
Loading
Loading
+3 −15
Original line number Original line Diff line number Diff line
@@ -511,15 +511,9 @@ static void usb_qdss_disconnect_work(struct work_struct *work)
		return;
		return;
	}
	}
	pr_debug("usb_qdss_disconnect_work\n");
	pr_debug("usb_qdss_disconnect_work\n");
	switch (ctrl_xport) {

	case USB_GADGET_XPORT_QTI:
	if (ctrl_xport == USB_GADGET_XPORT_QTI)
		gqti_ctrl_disconnect(&qdss->port, DPL_QTI_CTRL_PORT_NO);
		gqti_ctrl_disconnect(&qdss->port, DPL_QTI_CTRL_PORT_NO);
		break;
	default:
		pr_err("%s(): Un-supported transport: %u\n", __func__,
							ctrl_xport);
		return;
	}


	switch (dxport) {
	switch (dxport) {
	case USB_GADGET_XPORT_BAM:
	case USB_GADGET_XPORT_BAM:
@@ -677,8 +671,7 @@ static void usb_qdss_connect_work(struct work_struct *work)


	pr_debug("usb_qdss_connect_work\n");
	pr_debug("usb_qdss_connect_work\n");


	switch (ctrl_xport) {
	if (ctrl_xport == USB_GADGET_XPORT_QTI) {
	case USB_GADGET_XPORT_QTI:
		status = gqti_ctrl_connect(&qdss->port, DPL_QTI_CTRL_PORT_NO,
		status = gqti_ctrl_connect(&qdss->port, DPL_QTI_CTRL_PORT_NO,
					qdss->data_iface_id, ctrl_xport,
					qdss->data_iface_id, ctrl_xport,
					USB_GADGET_DPL);
					USB_GADGET_DPL);
@@ -688,11 +681,6 @@ static void usb_qdss_connect_work(struct work_struct *work)
			return;
			return;
		}
		}
		qdss->port.send_encap_cmd(DPL_QTI_CTRL_PORT_NO, NULL, 0);
		qdss->port.send_encap_cmd(DPL_QTI_CTRL_PORT_NO, NULL, 0);
		break;
	default:
		pr_err("%s(): Un-supported control transport: %u\n", __func__,
								ctrl_xport);
		return;
	}
	}


	switch (dxport) {
	switch (dxport) {