/* In general this syscall should not be blocked but we will work out all possible options.  */
int gdcReqDmaTrans(int gd_chn, int *dmabuf)
/* In general this syscall should not be blocked but we will work out all possible options.  */
int gdcReqDmaTrans(int gd_chn, int *dmabuf)
{
		LOGF("ERROR: %d != %d\n", gd_chn, GDS->req_count);
		return -1;
	}
	if(GDS->status != CMD_STAT_STREAMING || GDS->requested < (uint32)dmabuf[1]) {
		LOGF("ERROR: status = %s, remain = %d, request = %d\n",
			stat_name[GDS->status + 1], GDS->requested, dmabuf[1]);
		return -1;
	}
	GDS->requested -= dmabuf[1];
	pre_read_xfer_start(dmabuf[0], dmabuf[1]);
	return 0;
}