On Fri, Jun 14, 2019 at 10:53:10AM +0800, Ming Lei wrote:
> Use the scatterlist iterators and remove direct indexing of the
> scatterlist array.
>
> This way allows us to pre-allocate one small scatterlist, which can be
> chained with one runtime allocated scatterlist if the pre-allocated one
> isn't enough for the whole request.
>
> Cc: Steffen Maier
> Cc: Benjamin Block
> Cc: Martin Schwidefsky
> Cc: Heiko Carstens
> Cc: linux-s...@vger.kernel.org
> Signed-off-by: Ming Lei
> ---
> drivers/s390/scsi/zfcp_fc.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/s390/scsi/zfcp_fc.c b/drivers/s390/scsi/zfcp_fc.c
> index 33eddb02ee30..b018b61bd168 100644
> --- a/drivers/s390/scsi/zfcp_fc.c
> +++ b/drivers/s390/scsi/zfcp_fc.c
> @@ -620,7 +620,7 @@ static void zfcp_fc_sg_free_table(struct scatterlist *sg,
> int count)
> {
> int i;
>
> - for (i = 0; i < count; i++, sg++)
> + for (i = 0; i < count; i++, sg = sg_next(sg))
> if (sg)
> free_page((unsigned long) sg_virt(sg));
> else
> @@ -641,7 +641,7 @@ static int zfcp_fc_sg_setup_table(struct scatterlist *sg,
> int count)
> int i;
>
> sg_init_table(sg, count);
> - for (i = 0; i < count; i++, sg++) {
> + for (i = 0; i < count; i++, sg = sg_next(sg)) {
> addr = (void *) get_zeroed_page(GFP_KERNEL);
> if (!addr) {
> zfcp_fc_sg_free_table(sg, i);
Acked-by: Benjamin Block
--
With Best Regards, Benjamin Block / Linux on IBM Z Kernel Development
IBM Systems & Technology Group / IBM Deutschland Research & Development GmbH
Vorsitz. AufsR.: Matthias Hartmann / Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen / Registergericht: AmtsG Stuttgart, HRB 243294
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel