From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751111AbdAMSRB (ORCPT ); Fri, 13 Jan 2017 13:17:01 -0500 Received: from mail-it0-f67.google.com ([209.85.214.67]:34814 "EHLO mail-it0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750713AbdAMSQ7 (ORCPT ); Fri, 13 Jan 2017 13:16:59 -0500 MIME-Version: 1.0 In-Reply-To: References: <1413e173-dbac-7a6e-09cb-2287300a335e@users.sourceforge.net> From: Geert Uytterhoeven Date: Fri, 13 Jan 2017 19:16:56 +0100 X-Google-Sender-Auth: W-G8r88C1ilqoOEZ3LbyBpVCmJY Message-ID: Subject: Re: [PATCH 17/17] spi/topcliff-pch: One check less in pch_spi_set_tx() To: SF Markus Elfring Cc: linux-spi , Mark Brown , LKML , "kernel-janitors@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Markus, On Fri, Jan 13, 2017 at 6:28 PM, SF Markus Elfring wrote: > From: Markus Elfring > Date: Fri, 13 Jan 2017 17:30:46 +0100 > > Delete a duplicate check after a bit of exception handling was moved into > a previous if branch of this function. This is not equivalent: if data->pkt_tx_buff == NULL, the queue is no longer flushed. > Signed-off-by: Markus Elfring > --- > drivers/spi/spi-topcliff-pch.c | 25 ++++++++++++++----------- > 1 file changed, 14 insertions(+), 11 deletions(-) > > diff --git a/drivers/spi/spi-topcliff-pch.c b/drivers/spi/spi-topcliff-pch.c > index 97fd1ea9826b..33043a830032 100644 > --- a/drivers/spi/spi-topcliff-pch.c > +++ b/drivers/spi/spi-topcliff-pch.c > @@ -584,22 +584,25 @@ static void pch_spi_set_tx(struct pch_spi_data *data, int *bpw) > data->pkt_tx_buff = kzalloc(size, GFP_KERNEL); > if (data->pkt_tx_buff) { > data->pkt_rx_buff = kzalloc(size, GFP_KERNEL); > - if (!data->pkt_rx_buff) > + if (!data->pkt_rx_buff) { > kfree(data->pkt_tx_buff); > - } > > - if (!data->pkt_rx_buff) { > - /* flush queue and set status of all transfers to -ENOMEM */ > - list_for_each_entry_safe(pmsg, tmp, data->queue.next, queue) { > - pmsg->status = -ENOMEM; > + /* > + * Flush queue and set status of all transfers > + * to -ENOMEM. > + */ > + list_for_each_entry_safe(pmsg, tmp, data->queue.next, > + queue) { > + pmsg->status = -ENOMEM; > > - if (pmsg->complete) > - pmsg->complete(pmsg->context); > + if (pmsg->complete) > + pmsg->complete(pmsg->context); > > - /* delete from queue */ > - list_del_init(&pmsg->queue); > + /* delete from queue */ > + list_del_init(&pmsg->queue); > + } > + return; > } > - return; > } > > /* copy Tx Data */ -- Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds