Commit 5a9df732 authored by Adrian Bunk's avatar Adrian Bunk Committed by Linus Torvalds

drivers/block/cciss.c: fix check-after-use

The Coverity checker spotted that we have already oops'ed if "disk"
was NULL.

Since "disk" being NULL seems impossible at this point this patch
removes the NULL check.
Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
Acked-by: default avatarMike Miller <mike.miller@hp.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b012d346
...@@ -1582,38 +1582,36 @@ static int deregister_disk(struct gendisk *disk, drive_info_struct *drv, ...@@ -1582,38 +1582,36 @@ static int deregister_disk(struct gendisk *disk, drive_info_struct *drv,
* allows us to delete disk zero but keep the controller registered. * allows us to delete disk zero but keep the controller registered.
*/ */
if (h->gendisk[0] != disk) { if (h->gendisk[0] != disk) {
if (disk) { struct request_queue *q = disk->queue;
struct request_queue *q = disk->queue; if (disk->flags & GENHD_FL_UP)
if (disk->flags & GENHD_FL_UP) del_gendisk(disk);
del_gendisk(disk); if (q) {
if (q) { blk_cleanup_queue(q);
blk_cleanup_queue(q); /* Set drv->queue to NULL so that we do not try
/* Set drv->queue to NULL so that we do not try * to call blk_start_queue on this queue in the
* to call blk_start_queue on this queue in the * interrupt handler
* interrupt handler */
*/ drv->queue = NULL;
drv->queue = NULL; }
} /* If clear_all is set then we are deleting the logical
/* If clear_all is set then we are deleting the logical * drive, not just refreshing its info. For drives
* drive, not just refreshing its info. For drives * other than disk 0 we will call put_disk. We do not
* other than disk 0 we will call put_disk. We do not * do this for disk 0 as we need it to be able to
* do this for disk 0 as we need it to be able to * configure the controller.
* configure the controller. */
if (clear_all){
/* This isn't pretty, but we need to find the
* disk in our array and NULL our the pointer.
* This is so that we will call alloc_disk if
* this index is used again later.
*/ */
if (clear_all){ for (i=0; i < CISS_MAX_LUN; i++){
/* This isn't pretty, but we need to find the if(h->gendisk[i] == disk){
* disk in our array and NULL our the pointer. h->gendisk[i] = NULL;
* This is so that we will call alloc_disk if break;
* this index is used again later.
*/
for (i=0; i < CISS_MAX_LUN; i++){
if(h->gendisk[i] == disk){
h->gendisk[i] = NULL;
break;
}
} }
put_disk(disk);
} }
put_disk(disk);
} }
} else { } else {
set_capacity(disk, 0); set_capacity(disk, 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment