Subject: Re: [patch 08/18] 3c59x: check return of pci_enable_device()

From: Jeff Garzik <[email-masked]>
Date: Tue, 14 Aug 2007 01:33:26 -0400

[email-masked] wrote:
> From: Mark Hindley <[email-masked]>
> 
> Check return of pci_enable_device in vortex_up().
> 
> Signed-off-by: Mark Hindley <[email-masked]>
> Acked-by: Steffen Klassert <[email-masked]>
> Signed-off-by: Andrew Morton <[email-masked]>
> ---
> 
>  drivers/net/3c59x.c |    8 ++++++--
>  1 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff -puN drivers/net/3c59x.c~3c59x-check-return-of-pci_enable_device drivers/net/3c59x.c
> --- a/drivers/net/3c59x.c~3c59x-check-return-of-pci_enable_device
> +++ a/drivers/net/3c59x.c
> @@ -1490,13 +1490,17 @@ vortex_up(struct net_device *dev)
>  	struct vortex_private *vp = netdev_priv(dev);
>  	void __iomem *ioaddr = vp->ioaddr;
>  	unsigned int config;
> -	int i, mii_reg1, mii_reg5;
> +	int i, mii_reg1, mii_reg5, err;
>  
>  	if (VORTEX_PCI(vp)) {
>  		pci_set_power_state(VORTEX_PCI(vp), PCI_D0);	/* Go active */
>  		if (vp->pm_state_valid)
>  			pci_restore_state(VORTEX_PCI(vp));
> -		pci_enable_device(VORTEX_PCI(vp));
> +		err = pci_enable_device(VORTEX_PCI(vp));
> +		if (err) {
> +			printk(KERN_WARNING "%s: Could not enable device \n",
> +				dev->name);
> +		}

I would strongly prefer that vortex_up return a value, since all the 
important callers of this function can themselves return an error back 
to the system.

we can definitely return a meaningful return value here, if 
pci_enable_device() fails, and I would rather not apply a patch that 
fails to propagate a serious condition (pci_enable_device failure is 
indeed serious) when it is possible to do so