diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 599e75f33334..d18693d390b2 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -4089,7 +4089,9 @@ static int sd_probe(struct scsi_device *sdp) if (sdp->sector_size > PAGE_SIZE) { if (sd_large_pool_create()) { error = -ENOMEM; - goto out_free_index; + device_unregister(&sdkp->disk_dev); + put_disk(gd); + goto out; } }