|
@@ -286,12 +286,16 @@ static int bpp_probe(struct platform_device *op)
|
|
|
|
|
|
ops = kmemdup(&parport_sunbpp_ops, sizeof(struct parport_operations),
|
|
|
GFP_KERNEL);
|
|
|
- if (!ops)
|
|
|
+ if (!ops) {
|
|
|
+ err = -ENOMEM;
|
|
|
goto out_unmap;
|
|
|
+ }
|
|
|
|
|
|
dprintk(("register_port\n"));
|
|
|
- if (!(p = parport_register_port((unsigned long)base, irq, dma, ops)))
|
|
|
+ if (!(p = parport_register_port((unsigned long)base, irq, dma, ops))) {
|
|
|
+ err = -ENOMEM;
|
|
|
goto out_free_ops;
|
|
|
+ }
|
|
|
|
|
|
p->size = size;
|
|
|
p->dev = &op->dev;
|