Re: [PATCH 5/6] floppy: remove check for allocated queue ondo_floppy_init error handling

From: Vivek Goyal
Date: Fri Aug 10 2012 - 13:37:03 EST


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@xxxxxxxxxxxxx>

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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/