diff options
Diffstat (limited to 'drivers/net/wan/lmc/lmc_main.c')
| -rw-r--r-- | drivers/net/wan/lmc/lmc_main.c | 27 | 
1 files changed, 7 insertions, 20 deletions
| diff --git a/drivers/net/wan/lmc/lmc_main.c b/drivers/net/wan/lmc/lmc_main.c index 317bc79cc8b9..bb33b242ab48 100644 --- a/drivers/net/wan/lmc/lmc_main.c +++ b/drivers/net/wan/lmc/lmc_main.c @@ -826,7 +826,7 @@ static int lmc_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)  	/* lmc_trace(dev, "lmc_init_one in"); */ -	err = pci_enable_device(pdev); +	err = pcim_enable_device(pdev);  	if (err) {  		printk(KERN_ERR "lmc: pci enable failed: %d\n", err);  		return err; @@ -835,23 +835,20 @@ static int lmc_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)  	err = pci_request_regions(pdev, "lmc");  	if (err) {  		printk(KERN_ERR "lmc: pci_request_region failed\n"); -		goto err_req_io; +		return err;  	}  	/*  	 * Allocate our own device structure  	 */ -	sc = kzalloc(sizeof(lmc_softc_t), GFP_KERNEL); -	if (!sc) { -		err = -ENOMEM; -		goto err_kzalloc; -	} +	sc = devm_kzalloc(&pdev->dev, sizeof(lmc_softc_t), GFP_KERNEL); +	if (!sc) +		return -ENOMEM;  	dev = alloc_hdlcdev(sc);  	if (!dev) {  		printk(KERN_ERR "lmc:alloc_netdev for device failed\n"); -		err = -ENOMEM; -		goto err_hdlcdev; +		return -ENOMEM;  	} @@ -888,7 +885,7 @@ static int lmc_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)  	if (err) {  		printk(KERN_ERR "%s: register_netdev failed.\n", dev->name);  		free_netdev(dev); -		goto err_hdlcdev; +		return err;  	}      sc->lmc_cardtype = LMC_CARDTYPE_UNKNOWN; @@ -971,14 +968,6 @@ static int lmc_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)      lmc_trace(dev, "lmc_init_one out");      return 0; - -err_hdlcdev: -	kfree(sc); -err_kzalloc: -	pci_release_regions(pdev); -err_req_io: -	pci_disable_device(pdev); -	return err;  }  /* @@ -992,8 +981,6 @@ static void lmc_remove_one(struct pci_dev *pdev)  		printk(KERN_DEBUG "%s: removing...\n", dev->name);  		unregister_hdlc_device(dev);  		free_netdev(dev); -		pci_release_regions(pdev); -		pci_disable_device(pdev);  	}  } | 
