Commit 6555781b authored by Simon Arlott's avatar Simon Arlott Committed by Martin K. Petersen

scsi: sr: Fix sr_probe() missing deallocate of device minor

If the cdrom fails to be registered then the device minor should be
deallocated.

Link: https://lore.kernel.org/r/072dac4b-8402-4de8-36bd-47e7588969cd@0882a8b5-c6c3-11e9-b005-00805fc181feSigned-off-by: default avatarSimon Arlott <simon@octiron.net>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent a247e07f
...@@ -793,7 +793,7 @@ static int sr_probe(struct device *dev) ...@@ -793,7 +793,7 @@ static int sr_probe(struct device *dev)
cd->cdi.disk = disk; cd->cdi.disk = disk;
if (register_cdrom(&cd->cdi)) if (register_cdrom(&cd->cdi))
goto fail_put; goto fail_minor;
/* /*
* Initialize block layer runtime PM stuffs before the * Initialize block layer runtime PM stuffs before the
...@@ -811,6 +811,10 @@ static int sr_probe(struct device *dev) ...@@ -811,6 +811,10 @@ static int sr_probe(struct device *dev)
return 0; return 0;
fail_minor:
spin_lock(&sr_index_lock);
clear_bit(minor, sr_index_bits);
spin_unlock(&sr_index_lock);
fail_put: fail_put:
put_disk(disk); put_disk(disk);
mutex_destroy(&cd->lock); mutex_destroy(&cd->lock);
......
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