struct ccp_sg_workarea {
struct scatterlist *sg;
- unsigned int nents;
+ int nents;
struct scatterlist *dma_sg;
struct device *dma_dev;
if (!sg)
return 0;
- wa->nents = sg_nents(sg);
+ wa->nents = sg_nents_for_len(sg, len);
+ if (wa->nents < 0)
+ return wa->nents;
+
wa->bytes_left = len;
wa->sg_used = 0;