diff options
Diffstat (limited to 'drivers/block/cciss.c')
-rw-r--r-- | drivers/block/cciss.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index a9e33db46e68..d2815b7a9150 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c | |||
@@ -1146,7 +1146,6 @@ static int revalidate_allvol(ctlr_info_t *host) | |||
1146 | del_gendisk(disk); | 1146 | del_gendisk(disk); |
1147 | if (q) | 1147 | if (q) |
1148 | blk_cleanup_queue(q); | 1148 | blk_cleanup_queue(q); |
1149 | put_disk(disk); | ||
1150 | } | 1149 | } |
1151 | } | 1150 | } |
1152 | 1151 | ||
@@ -1465,9 +1464,10 @@ static int deregister_disk(struct gendisk *disk, drive_info_struct *drv, | |||
1465 | request_queue_t *q = disk->queue; | 1464 | request_queue_t *q = disk->queue; |
1466 | if (disk->flags & GENHD_FL_UP) | 1465 | if (disk->flags & GENHD_FL_UP) |
1467 | del_gendisk(disk); | 1466 | del_gendisk(disk); |
1468 | if (q) | 1467 | if (q) { |
1469 | blk_cleanup_queue(q); | 1468 | blk_cleanup_queue(q); |
1470 | put_disk(disk); | 1469 | drv->queue = NULL; |
1470 | } | ||
1471 | } | 1471 | } |
1472 | } | 1472 | } |
1473 | 1473 | ||
@@ -2310,7 +2310,7 @@ static inline void complete_command( ctlr_info_t *h, CommandList_struct *cmd, | |||
2310 | printk("Done with %p\n", cmd->rq); | 2310 | printk("Done with %p\n", cmd->rq); |
2311 | #endif /* CCISS_DEBUG */ | 2311 | #endif /* CCISS_DEBUG */ |
2312 | 2312 | ||
2313 | end_that_request_last(cmd->rq); | 2313 | end_that_request_last(cmd->rq, status ? 1 : -EIO); |
2314 | cmd_free(h,cmd,1); | 2314 | cmd_free(h,cmd,1); |
2315 | } | 2315 | } |
2316 | 2316 | ||
@@ -3243,7 +3243,6 @@ static void __devexit cciss_remove_one (struct pci_dev *pdev) | |||
3243 | del_gendisk(disk); | 3243 | del_gendisk(disk); |
3244 | if (q) | 3244 | if (q) |
3245 | blk_cleanup_queue(q); | 3245 | blk_cleanup_queue(q); |
3246 | put_disk(disk); | ||
3247 | } | 3246 | } |
3248 | } | 3247 | } |
3249 | 3248 | ||