pnp_irq() and pnp_port_start() can fail here and we must check
its return value.

Signed-off-by: Arvind Yadav <arvind.yadav...@gmail.com>
---
 drivers/isdn/hisax/hisax_fcpcipnp.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/isdn/hisax/hisax_fcpcipnp.c 
b/drivers/isdn/hisax/hisax_fcpcipnp.c
index e4f7573..7a7137d 100644
--- a/drivers/isdn/hisax/hisax_fcpcipnp.c
+++ b/drivers/isdn/hisax/hisax_fcpcipnp.c
@@ -940,6 +940,8 @@ static int fcpnp_probe(struct pnp_dev *pdev, const struct 
pnp_device_id *dev_id)
        }
        adapter->io = pnp_port_start(pdev, 0);
        adapter->irq = pnp_irq(pdev, 0);
+       if (!adapter->io || adapter->irq == -1)
+               goto err_free;
 
        printk(KERN_INFO "hisax_fcpcipnp: found adapter %s at IO %#x irq %d\n",
               (char *) dev_id->driver_data, adapter->io, adapter->irq);
-- 
1.9.1

Reply via email to