diff --git a/lib/sg_pool.c b/lib/sg_pool.c index b3b8cf62ff49..f1cc8372df67 100644 --- a/lib/sg_pool.c +++ b/lib/sg_pool.c @@ -102,7 +102,9 @@ EXPORT_SYMBOL_GPL(sg_free_table_chained); * * Description: * Allocate and chain SGLs in an sg table. If @nents@ is larger than - * @nents_first_chunk a chained sg table will be setup. + * @nents_first_chunk a chained sg table will be setup. @first_chunk is + * ignored if nents_first_chunk <= 1 because user expects the SGL points + * non-chain SGL. * **/ int sg_alloc_table_chained(struct sg_table *table, int nents, @@ -121,7 +123,7 @@ int sg_alloc_table_chained(struct sg_table *table, int nents, } /* User supposes that the 1st SGL includes real entry */ - if (nents_first_chunk == 1) { + if (nents_first_chunk <= 1) { first_chunk = NULL; nents_first_chunk = 0; }