mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 15:49:17 -04:00
skge: Make sure both ports initialize correctly
If allocation of the second ports fails, make sure that hw->ports
is not 2 otherwise we'll crash trying to access the second port.
This fix is copied from a similar fix in the sky2 driver (ca519274...),
but is untested, as I don't have a skge card.
Signed-off-by: Mike McCormack <mikem@ring3k.org>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ec1652af18
commit
f1914226e1
1 changed files with 6 additions and 3 deletions
|
|
@ -3982,14 +3982,17 @@ static int __devinit skge_probe(struct pci_dev *pdev,
|
|||
}
|
||||
skge_show_addr(dev);
|
||||
|
||||
if (hw->ports > 1 && (dev1 = skge_devinit(hw, 1, using_dac))) {
|
||||
if (register_netdev(dev1) == 0)
|
||||
if (hw->ports > 1) {
|
||||
dev1 = skge_devinit(hw, 1, using_dac);
|
||||
if (dev1 && register_netdev(dev1) == 0)
|
||||
skge_show_addr(dev1);
|
||||
else {
|
||||
/* Failure to register second port need not be fatal */
|
||||
dev_warn(&pdev->dev, "register of second port failed\n");
|
||||
hw->dev[1] = NULL;
|
||||
free_netdev(dev1);
|
||||
hw->ports = 1;
|
||||
if (dev1)
|
||||
free_netdev(dev1);
|
||||
}
|
||||
}
|
||||
pci_set_drvdata(pdev, hw);
|
||||
|
|
|
|||
Loading…
Reference in a new issue