Message ID | bdf5a12c-39cb-398a-f6c8-58142c7abd8d@users.sourceforge.net (mailing list archive) |
---|---|
State | Rejected |
Headers | show |
Hi Markus, On Fri, Jan 13, 2017 at 6:28 PM, SF Markus Elfring <elfring@users.sourceforge.net> wrote: > From: Markus Elfring <elfring@users.sourceforge.net> > 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 <elfring@users.sourceforge.net> > --- > 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 */
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 */