diff options
Diffstat (limited to 'drivers/net/can/sja1000/plx_pci.c')
| -rw-r--r-- | drivers/net/can/sja1000/plx_pci.c | 4 | 
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/can/sja1000/plx_pci.c b/drivers/net/can/sja1000/plx_pci.c index 231385b8e08..c7f3d4ea116 100644 --- a/drivers/net/can/sja1000/plx_pci.c +++ b/drivers/net/can/sja1000/plx_pci.c @@ -408,7 +408,7 @@ static void plx_pci_del_card(struct pci_dev *pdev)  	struct sja1000_priv *priv;  	int i = 0; -	for (i = 0; i < card->channels; i++) { +	for (i = 0; i < PLX_PCI_MAX_CHAN; i++) {  		dev = card->net_dev[i];  		if (!dev)  			continue; @@ -536,7 +536,6 @@ static int __devinit plx_pci_add_card(struct pci_dev *pdev,  			if (err) {  				dev_err(&pdev->dev, "Registering device failed "  					"(err=%d)\n", err); -				free_sja1000dev(dev);  				goto failure_cleanup;  			} @@ -549,6 +548,7 @@ static int __devinit plx_pci_add_card(struct pci_dev *pdev,  			dev_err(&pdev->dev, "Channel #%d not detected\n",  				i + 1);  			free_sja1000dev(dev); +			card->net_dev[i] = NULL;  		}  	}  |