ath9k: propagate errors on ath_init_device() and request_irq()
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Thu, 3 Sep 2009 00:02:18 +0000 (17:02 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 8 Sep 2009 20:31:04 +0000 (16:31 -0400)
We've cleaned up ath_init_device() and its children enough
to pass meaninful errors back from probe. When this fails
it means our device could not be initialized and a meaninful
error will have been passed.

Do the same for request_irq() and also synchronize the error
messages while at it.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ahb.c
drivers/net/wireless/ath/ath9k/pci.c

index 5618fc25d52ff71201e40c269fcda6ae8adc0bff..7dc6301ae2013a159542693c695cdbd774176ec8 100644 (file)
@@ -120,16 +120,14 @@ static int ath_ahb_probe(struct platform_device *pdev)
        sc->irq = irq;
 
        ret = ath_init_device(AR5416_AR9100_DEVID, sc);
-       if (ret != 0) {
-               dev_err(&pdev->dev, "failed to attach device, err=%d\n", ret);
-               ret = -ENODEV;
+       if (ret) {
+               dev_err(&pdev->dev, "failed to initialize device\n");
                goto err_free_hw;
        }
 
        ret = request_irq(irq, ath_isr, IRQF_SHARED, "ath9k", sc);
        if (ret) {
-               dev_err(&pdev->dev, "request_irq failed, err=%d\n", ret);
-               ret = -EIO;
+               dev_err(&pdev->dev, "request_irq failed\n");
                goto err_detach;
        }
 
index 17862ccc34003d06368d7da81efa6e36b30ab28c..bc4bc2c2d37874a14ca2a480ae4e8b7a79219171 100644 (file)
@@ -179,17 +179,17 @@ static int ath_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        sc->mem = mem;
        sc->bus_ops = &ath_pci_bus_ops;
 
-       if (ath_init_device(id->device, sc) != 0) {
-               ret = -ENODEV;
+       ret = ath_init_device(id->device, sc);
+       if (ret) {
+               dev_err(&pdev->dev, "failed to initialize device\n");
                goto bad3;
        }
 
        /* setup interrupt service routine */
 
-       if (request_irq(pdev->irq, ath_isr, IRQF_SHARED, "ath", sc)) {
-               printk(KERN_ERR "%s: request_irq failed\n",
-                       wiphy_name(hw->wiphy));
-               ret = -EIO;
+       ret = request_irq(pdev->irq, ath_isr, IRQF_SHARED, "ath", sc);
+       if (ret) {
+               dev_err(&pdev->dev, "request_irq failed\n");
                goto bad4;
        }