From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Block Subject: Re: [PATCH V3 09/15] s390: zfcp_fc: use sg helper to operate scatterlist Date: Sun, 16 Jun 2019 18:25:46 +0200 Message-ID: <20190616162546.GB6610@t480-pf1aa2c2> References: <20190614025316.7360-1-ming.lei@redhat.com> <20190614025316.7360-10-ming.lei@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Content-Disposition: inline In-Reply-To: <20190614025316.7360-10-ming.lei@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: Ming Lei Cc: Heiko Carstens , Jim Gill , James Bottomley , Finn Thain , Christoph Hellwig , devel@driverdev.osuosl.org, linux-s390@vger.kernel.org, Hannes Reinecke , Bart Van Assche , linux-scsi@vger.kernel.org, James Smart , "Ewan D . Milne" , "Juergen E . Fischer" , Dan Carpenter , Brian King , Michael Schmitz , "Martin K . Petersen" , Greg Kroah-Hartman , linux-usb@vger.kernel.org, Martin Schwidefsky , Steffen Maier List-Id: linux-scsi@vger.kernel.org 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-s390@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 =3D 0; i < count; i++, sg++) > + for (i =3D 0; i < count; i++, sg =3D 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 =3D 0; i < count; i++, sg++) { > + for (i =3D 0; i < count; i++, sg =3D sg_next(sg)) { > addr =3D (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 Develop= ment IBM Systems & Technology Group / IBM Deutschland Research & Development = GmbH Vorsitz. AufsR.: Matthias Hartmann / Gesch=E4ftsf=FChrung: Dirk = Wittkopp Sitz der Gesellschaft: B=F6blingen / Registergericht: AmtsG Stuttgart, HRB = 243294