summaryrefslogtreecommitdiffstats
path: root/lib/sg_split.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sg_split.c')
-rw-r--r--lib/sg_split.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/sg_split.c b/lib/sg_split.c
index 9982c63d1063..60a0babebf2e 100644
--- a/lib/sg_split.c
+++ b/lib/sg_split.c
@@ -176,11 +176,13 @@ int sg_split(struct scatterlist *in, const int in_mapped_nents,
176 * The order of these 3 calls is important and should be kept. 176 * The order of these 3 calls is important and should be kept.
177 */ 177 */
178 sg_split_phys(splitters, nb_splits); 178 sg_split_phys(splitters, nb_splits);
179 ret = sg_calculate_split(in, in_mapped_nents, nb_splits, skip, 179 if (in_mapped_nents) {
180 split_sizes, splitters, true); 180 ret = sg_calculate_split(in, in_mapped_nents, nb_splits, skip,
181 if (ret < 0) 181 split_sizes, splitters, true);
182 goto err; 182 if (ret < 0)
183 sg_split_mapped(splitters, nb_splits); 183 goto err;
184 sg_split_mapped(splitters, nb_splits);
185 }
184 186
185 for (i = 0; i < nb_splits; i++) { 187 for (i = 0; i < nb_splits; i++) {
186 out[i] = splitters[i].out_sg; 188 out[i] = splitters[i].out_sg;