|
@@ -807,16 +807,20 @@ static int probe_gdrom(struct platform_device *devptr)
|
|
if (err)
|
|
if (err)
|
|
goto probe_fail_cmdirq_register;
|
|
goto probe_fail_cmdirq_register;
|
|
gd.gdrom_rq = blk_init_queue(gdrom_request, &gdrom_lock);
|
|
gd.gdrom_rq = blk_init_queue(gdrom_request, &gdrom_lock);
|
|
- if (!gd.gdrom_rq)
|
|
|
|
|
|
+ if (!gd.gdrom_rq) {
|
|
|
|
+ err = -ENOMEM;
|
|
goto probe_fail_requestq;
|
|
goto probe_fail_requestq;
|
|
|
|
+ }
|
|
|
|
|
|
err = probe_gdrom_setupqueue();
|
|
err = probe_gdrom_setupqueue();
|
|
if (err)
|
|
if (err)
|
|
goto probe_fail_toc;
|
|
goto probe_fail_toc;
|
|
|
|
|
|
gd.toc = kzalloc(sizeof(struct gdromtoc), GFP_KERNEL);
|
|
gd.toc = kzalloc(sizeof(struct gdromtoc), GFP_KERNEL);
|
|
- if (!gd.toc)
|
|
|
|
|
|
+ if (!gd.toc) {
|
|
|
|
+ err = -ENOMEM;
|
|
goto probe_fail_toc;
|
|
goto probe_fail_toc;
|
|
|
|
+ }
|
|
add_disk(gd.disk);
|
|
add_disk(gd.disk);
|
|
return 0;
|
|
return 0;
|
|
|
|
|