• Bart Van Assche's avatar
    pktcdvd: Fix pkt_setup_dev() error path · 5a0ec388
    Bart Van Assche authored
    Commit 523e1d39 ("block: make gendisk hold a reference to its queue")
    modified add_disk() and disk_release() but did not update any of the
    error paths that trigger a put_disk() call after disk->queue has been
    assigned. That introduced the following behavior in the pktcdvd driver
    if pkt_new_dev() fails:
    
    Kernel BUG at 00000000e98fd882 [verbose debug info unavailable]
    
    Since disk_release() calls blk_put_queue() anyway if disk->queue != NULL,
    fix this by removing the blk_cleanup_queue() call from the pkt_setup_dev()
    error path.
    
    Fixes: commit 523e1d39 ("block: make gendisk hold a reference to its queue")
    Signed-off-by: default avatarBart Van Assche <bart.vanassche@wdc.com>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
    Cc: <stable@vger.kernel.org> # v3.2
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    5a0ec388
pktcdvd.c 72.6 KB