author: Zhou Wang <wangzhou1@hisilicon.com> 2019-07-24 11:54:23 +0800
committer: Jens Axboe <axboe@kernel.dk> 2019-08-08 07:45:01 -0600
commit: 79e178f4383a3a645f76bc2dd44c477b361c6a98
parent: ba6f7da99aaf00042b4ed2d8850ed7534492009e
Commit Summary:
Diffstat:
1 file 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,
* The order of these 3 calls is important and should be kept.
*/
sg_split_phys(splitters, nb_splits);
- ret = sg_calculate_split(in, in_mapped_nents, nb_splits, skip,
- split_sizes, splitters, true);
- if (ret < 0)
- goto err;
- sg_split_mapped(splitters, nb_splits);
+ if (in_mapped_nents) {
+ ret = sg_calculate_split(in, in_mapped_nents, nb_splits, skip,
+ split_sizes, splitters, true);
+ if (ret < 0)
+ goto err;
+ sg_split_mapped(splitters, nb_splits);
+ }
for (i = 0; i < nb_splits; i++) {
out[i] = splitters[i].out_sg;