Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760794AbcKDIJU (ORCPT ); Fri, 4 Nov 2016 04:09:20 -0400 Received: from lb2-smtp-cloud3.xs4all.net ([194.109.24.26]:47151 "EHLO lb2-smtp-cloud3.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755531AbcKDIJS (ORCPT ); Fri, 4 Nov 2016 04:09:18 -0400 Subject: Re: [PATCH 3/3] [media] au0828-video: Move two assignments in au0828_init_isoc() To: SF Markus Elfring , linux-media@vger.kernel.org References: <1ab6b168-3c69-97c2-d02e-cd64b7fa222f@users.sourceforge.net> <4e6e77af-1b2c-33a6-1bc3-058ac5ecc038@xs4all.nl> <65b399e5-8c18-45a4-643d-527dd3bbff3d@users.sourceforge.net> Cc: Hans Verkuil , Laurent Pinchart , Mauro Carvalho Chehab , =?UTF-8?Q?Rafael_Louren=c3=a7o_de_Lima_Chehab?= , Shuah Khan , Wolfram Sang , LKML , kernel-janitors@vger.kernel.org From: Hans Verkuil Message-ID: <82833c3a-0af0-a427-0e99-78ca5a6e9f68@xs4all.nl> Date: Fri, 4 Nov 2016 09:09:15 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <65b399e5-8c18-45a4-643d-527dd3bbff3d@users.sourceforge.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2305 Lines: 67 On 03/11/16 20:56, SF Markus Elfring wrote: >>> From: Markus Elfring >>> Date: Mon, 24 Oct 2016 22:44:02 +0200 >>> >>> Move the assignment for the data structure members "isoc_copy" >>> and "num_bufs" behind the source code for memory allocations >>> by this function. >> >> I don't see the point, > > Another explanation try … > > >> dropping this patch. > > I proposed that these assignments should only be performed after the required > memory allocations succeeded. Is this detail worth for further considerations? I understand why you think it is better, but I disagree :-) I prefer the current approach, that way I know as a reviewer that these fields are correctly set and I can forget about them. Not worth spending more time on this. Regards, Hans > > >>> Signed-off-by: Markus Elfring >>> --- >>> drivers/media/usb/au0828/au0828-video.c | 5 ++--- >>> 1 file changed, 2 insertions(+), 3 deletions(-) >>> >>> diff --git a/drivers/media/usb/au0828/au0828-video.c b/drivers/media/usb/au0828/au0828-video.c >>> index b5c88a7..5ebda64 100644 >>> --- a/drivers/media/usb/au0828/au0828-video.c >>> +++ b/drivers/media/usb/au0828/au0828-video.c >>> @@ -218,9 +218,6 @@ static int au0828_init_isoc(struct au0828_dev *dev, int max_packets, >>> int rc; >>> >>> au0828_isocdbg("au0828: called au0828_prepare_isoc\n"); >>> - >>> - dev->isoc_ctl.isoc_copy = isoc_copy; >>> - dev->isoc_ctl.num_bufs = num_bufs; >>> dev->isoc_ctl.urb = kcalloc(num_bufs, >>> sizeof(*dev->isoc_ctl.urb), >>> GFP_KERNEL); >>> @@ -240,6 +237,7 @@ static int au0828_init_isoc(struct au0828_dev *dev, int max_packets, >>> dev->isoc_ctl.buf = NULL; >>> >>> sb_size = max_packets * dev->isoc_ctl.max_pkt_size; >>> + dev->isoc_ctl.num_bufs = num_bufs; >>> >>> /* allocate urbs and transfer buffers */ >>> for (i = 0; i < dev->isoc_ctl.num_bufs; i++) { >>> @@ -276,6 +274,7 @@ static int au0828_init_isoc(struct au0828_dev *dev, int max_packets, >>> k += dev->isoc_ctl.max_pkt_size; >>> } >>> } >>> + dev->isoc_ctl.isoc_copy = isoc_copy; >>> >>> /* submit urbs and enables IRQ */ >>> for (i = 0; i < dev->isoc_ctl.num_bufs; i++) { >>> >