aboutsummaryrefslogtreecommitdiff
path: root/drivers/block/paride/pd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/block/paride/pd.c')
-rw-r--r--drivers/block/paride/pd.c6
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;