depca: fix warning in drivers/net/depca.c
authorIngo Molnar <mingo@elte.hu>
Wed, 26 Nov 2008 01:00:39 +0000 (17:00 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 26 Nov 2008 01:00:39 +0000 (17:00 -0800)
fix warning:

  drivers/net/depca.c: In function ‘depca_eisa_probe’:
  drivers/net/depca.c:1564: warning: ‘mem_start’ may be used uninitialized in this function

this seems to be a real bug - depca_eisa_probe() does not check
for failure. Add it, symmetric to depca_isa_probe().

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/depca.c

index ec34f03cb9824049633fa4102d8bbd762e1412c9..e4cef491dc73fc8d6486b98976d9b937b12399ad 100644 (file)
@@ -1556,6 +1556,7 @@ static int __init depca_isa_probe (struct platform_device *device)
 #ifdef CONFIG_EISA
 static int __init depca_eisa_probe (struct device *device)
 {
+       enum depca_type adapter = unknown;
        struct eisa_device *edev;
        struct net_device *dev;
        struct depca_private *lp;
@@ -1574,7 +1575,11 @@ static int __init depca_eisa_probe (struct device *device)
         * the EISA configuration structures (yet... :-), just rely on
         * the ISA probing to sort it out... */
 
-       depca_shmem_probe (&mem_start);
+       adapter = depca_shmem_probe (&mem_start);
+       if (adapter == unknown) {
+               status = -ENODEV;
+               goto out_free;
+       }
 
        dev->base_addr = ioaddr;
        dev->irq = irq;