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.krzesin...@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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/