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

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

Merge "msm: gsi: Set cookie correctly for GCI channel TREs"

parents 2df291bf 352d9aa2
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -3386,8 +3386,18 @@ int __gsi_get_gci_cookie(struct gsi_chan_ctx *ctx, uint16_t idx)
		}
	}

	/* TODO: Increase escape buffer size if we hit this */
	GSIERR("user_data is full\n");
	/* Go over original userdata when escape buffer is full (costly) */
	GSIDBG("escape buffer is full\n");
	for (i = 0; i < end; i++) {
		if (!ctx->user_data[i].valid) {
			ctx->user_data[i].valid = true;
			return i;
		}
	}

	/* Everything is full (possibly a stall) */
	GSIERR("both userdata array and escape buffer is full\n");
	BUG();
	return 0xFFFF;
}

@@ -3424,7 +3434,7 @@ int __gsi_populate_gci_tre(struct gsi_chan_ctx *ctx,

	/* write the TRE to ring */
	*tre_gci_ptr = gci_tre;
	ctx->user_data[idx].p = xfer->xfer_user_data;
	ctx->user_data[gci_tre.cookie].p = xfer->xfer_user_data;

	return 0;
}