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

Commit d96a0b49 authored by Jack Pham's avatar Jack Pham
Browse files

Revert "USB: rndis: Honor dl_max_packet_size value sent by host"



This reverts commit 8d0058d8.

Instead, set GSI IN aggregation size by directly reading the
RNDIS_MSG_INIT message's MaxTransferSize field.

Change-Id: Ia36ac79f4fce2c3e89a542cfa82c39c4c1b52700
Signed-off-by: default avatarJack Pham <jackp@codeaurora.org>
parent a65504bf
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -2048,10 +2048,14 @@ static void gsi_rndis_command_complete(struct usb_ep *ep,

	buf = (rndis_init_msg_type *)req->buf;
	if (le32_to_cpu(buf->MessageType) == RNDIS_MSG_INIT) {
		log_event_dbg("RNDIS host major:%d minor:%d version\n",
				le32_to_cpu(buf->MajorVersion),
				le32_to_cpu(buf->MinorVersion));

		/* honor host dl aggr size */
		gsi->d_port.in_aggr_size = gsi->params->dl_max_xfer_size;
		log_event_dbg("RNDIS host dl_aggr_size:%d\n",
				gsi->params->dl_max_xfer_size);
		gsi->d_port.in_aggr_size = le32_to_cpu(buf->MaxTransferSize);
		log_event_dbg("RNDIS host DL MaxTransferSize:%d\n",
				le32_to_cpu(buf->MaxTransferSize));
	}
}

+2 −11
Original line number Diff line number Diff line
@@ -803,17 +803,8 @@ int rndis_msg_parser(struct rndis_params *params, u8 *buf)
	/* For USB: responses may take up to 10 seconds */
	switch (MsgType) {
	case RNDIS_MSG_INIT:
		pr_debug("%s: RNDIS_MSG_INIT\n", __func__);
		tmp++; /* to get RequestID */
		params->host_rndis_major_ver = get_unaligned_le32(tmp++);
		params->host_rndis_minor_ver = get_unaligned_le32(tmp++);
		params->dl_max_xfer_size = get_unaligned_le32(tmp++);

		pr_debug("%s(): RNDIS Host Major:%d Minor:%d version\n",
					__func__, params->host_rndis_major_ver,
					params->host_rndis_minor_ver);
		pr_debug("%s(): DL Max Transfer size:%x\n",
				__func__, params->dl_max_xfer_size);
		pr_debug("%s: RNDIS_MSG_INIT\n",
			__func__);
		params->state = RNDIS_INITIALIZED;
		return rndis_init_response(params, (rndis_init_msg_type *)buf);

+0 −3
Original line number Diff line number Diff line
@@ -171,9 +171,6 @@ typedef struct rndis_params {

	u32			vendorID;
	u8			max_pkt_per_xfer;
	u32			host_rndis_major_ver;
	u32			host_rndis_minor_ver;
	u32			dl_max_xfer_size;
	const char		*vendorDescr;
	u8			pkt_alignment_factor;
	void			(*resp_avail)(void *v);