pasemi_mac: mac_to_intf() error not noticed
authorroel kluin <roel.kluin@gmail.com>
Thu, 23 Apr 2009 08:53:20 +0000 (08:53 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Apr 2009 10:20:17 +0000 (03:20 -0700)
mac_to_intf() can return -1 when no device or function is found, but when
mac->dma_if is unsigned. The error wasn't noticed.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/pasemi_mac.c

index 6ea4539..c254a7f 100644 (file)
@@ -1733,7 +1733,7 @@ pasemi_mac_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
        struct net_device *dev;
        struct pasemi_mac *mac;
-       int err;
+       int err, ret;
 
        err = pci_enable_device(pdev);
        if (err)
@@ -1791,12 +1791,13 @@ pasemi_mac_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        }
        memcpy(dev->dev_addr, mac->mac_addr, sizeof(mac->mac_addr));
 
-       mac->dma_if = mac_to_intf(mac);
-       if (mac->dma_if < 0) {
+       ret = mac_to_intf(mac);
+       if (ret < 0) {
                dev_err(&mac->pdev->dev, "Can't map DMA interface\n");
                err = -ENODEV;
                goto out;
        }
+       mac->dma_if = ret;
 
        switch (pdev->device) {
        case 0xa005: