On March 03, 2017 5:45 AM Laura Abbott wrote:
+static struct sg_table *dup_sg_table(struct sg_table *table) +{
- struct sg_table *new_table;
 - int ret, i;
 - struct scatterlist *sg, *new_sg;
 - new_table = kzalloc(sizeof(*new_table), GFP_KERNEL);
 - if (!new_table)
 return ERR_PTR(-ENOMEM);- ret = sg_alloc_table(new_table, table->nents, GFP_KERNEL);
 - if (ret) {
 kfree(table);
Free new table?
return ERR_PTR(-ENOMEM);- }
 - new_sg = new_table->sgl;
 - for_each_sg(table->sgl, sg, table->nents, i) {
 memcpy(new_sg, sg, sizeof(*sg));sg->dma_address = 0;new_sg = sg_next(new_sg);- }
 
Do we need a helper, sg_copy_table(dst_table, src_table)?
- return new_table;
 +}