/* load a scatterlist with a potentially split-page buffer  */
static void rxkad_sg_set_buf2(struct scatterlist sg[2], void *buf, size_t buflen)
/* load a scatterlist with a potentially split-page buffer  */
static void rxkad_sg_set_buf2(struct scatterlist sg[2], void *buf, size_t buflen)
{
	int nsg = 1;
	sg_init_table(sg, 2);
	sg_set_buf(&sg[0], buf, buflen);
	if (sg[0].offset + buflen > PAGE_SIZE) {
		sg[0].length = PAGE_SIZE - sg[0].offset;
		sg_set_buf(&sg[1], buf + sg[0].length, buflen - sg[0].length);
		nsg++;
	}
	sg_mark_end(&sg[nsg - 1]);
	ASSERTCMP(sg[0].length + sg[1].length, ==, buflen);
}