Messages in this thread | | | Date | Fri, 10 Aug 2012 13:36:53 -0400 | From | Vivek Goyal <> | Subject | Re: [PATCH 5/6] floppy: remove check for allocated queue on do_floppy_init error handling |
| |
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 <herton.krzesinski@canonical.com>
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
| |