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

This commit is contained in:
qctecmdr 2019-11-01 15:38:23 -07:00 • committed by Gerrit - the friendly Code Review server
commit ab15b23ddd

View file

@ -3438,8 +3438,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;
}
@ -3476,7 +3486,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;
}