diff options
-rw-r--r-- | drivers/block/paride/pd.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/block/paride/pd.c b/drivers/block/paride/pd.c index 500b89a4bdaf..e59759bcf416 100644 --- a/drivers/block/paride/pd.c +++ b/drivers/block/paride/pd.c @@ -938,8 +938,12 @@ static int pd_probe_drive(struct pd_unit *disk, int autoprobe, int port, if (ret) goto put_disk; set_capacity(disk->gd, disk->capacity); - add_disk(disk->gd); + ret = add_disk(disk->gd); + if (ret) + goto cleanup_disk; return 0; +cleanup_disk: + blk_cleanup_disk(disk->gd); put_disk: put_disk(p); disk->gd = NULL; |