From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758696Ab2HJRhL (ORCPT ); Fri, 10 Aug 2012 13:37:11 -0400 Received: from mx1.redhat.com ([209.132.183.28]:26511 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753615Ab2HJRhG (ORCPT ); Fri, 10 Aug 2012 13:37:06 -0400 Date: Fri, 10 Aug 2012 13:36:53 -0400 From: Vivek Goyal To: Herton Ronaldo Krzesinski Cc: Jiri Kosina , Andrew Morton , Jens Axboe , Tejun Heo , linux-kernel@vger.kernel.org, Ben Hutchings Subject: Re: [PATCH 5/6] floppy: remove check for allocated queue on do_floppy_init error handling Message-ID: <20120810173653.GK5416@redhat.com> References: <1344542391-16474-1-git-send-email-herton.krzesinski@canonical.com> <1344542391-16474-6-git-send-email-herton.krzesinski@canonical.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1344542391-16474-6-git-send-email-herton.krzesinski@canonical.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 09, 2012 at 04:59:50PM -0300, Herton Ronaldo Krzesinski wrote: > The check "if (disks[dr]->queue)" check is bogus, if we reach there > for each dr should exist an queue allocated (note that we decrement dr > first on entering the loop). > > Signed-off-by: Herton Ronaldo Krzesinski As mentioned in second patch, I like going trhough full array of drives and do cleanup as needed instead of relying on "dr" variable. But if you don't like that, then I am not as such against this approach. Was just trying to keep all put_disk() at one place. Thanks Vivek > --- > drivers/block/floppy.c | 16 +++++++--------- > 1 file changed, 7 insertions(+), 9 deletions(-) > > diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c > index 3eafe93..438ffc9 100644 > --- a/drivers/block/floppy.c > +++ b/drivers/block/floppy.c > @@ -4332,15 +4332,13 @@ out_unreg_blkdev: > out_put_disk: > while (dr--) { > del_timer_sync(&motor_off_timer[dr]); > - if (disks[dr]->queue) { > - blk_cleanup_queue(disks[dr]->queue); > - /* > - * put_disk() is not paired with add_disk() and > - * will put queue reference one extra time. fix it. > - */ > - if (!disk_registered[dr]) > - disks[dr]->queue = NULL; > - } > + blk_cleanup_queue(disks[dr]->queue); > + /* > + * put_disk() is not paired with add_disk() and > + * will put queue reference one extra time. fix it. > + */ > + if (!disk_registered[dr]) > + disks[dr]->queue = NULL; > put_disk(disks[dr]); > } > destroy_workqueue(floppy_wq); > -- > 1.7.9.5