summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancois Romieu <romieu@electric-eye.fr.zoreil.com>2006-02-16 22:17:00 +0100
committerFrancois Romieu <romieu@electric-eye.fr.zoreil.com>2006-02-16 22:17:00 +0100
commit10487fbd74f2f9c9b5fb2d77efd50eab48db191a (patch)
tree034764d5b871717b543b7236369876ba2b6c5aaf
parent26d451b603e754ded83f0e5becab2a78253ad100 (diff)
downloadlinux-3.10-10487fbd74f2f9c9b5fb2d77efd50eab48db191a.tar.gz
linux-3.10-10487fbd74f2f9c9b5fb2d77efd50eab48db191a.tar.bz2
linux-3.10-10487fbd74f2f9c9b5fb2d77efd50eab48db191a.zip
sis190: early setting of the pci driver private data
Below this point, the error path will proceed through sis190_release_board(). It will happily oops if pci_set_drvdata() has not been issued. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
-rw-r--r--drivers/net/sis190.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c
index b420182eec4..ed4bc91638d 100644
--- a/drivers/net/sis190.c
+++ b/drivers/net/sis190.c
@@ -1791,6 +1791,8 @@ static int __devinit sis190_init_one(struct pci_dev *pdev,
goto out;
}
+ pci_set_drvdata(pdev, dev);
+
tp = netdev_priv(dev);
ioaddr = tp->mmio_addr;
@@ -1827,8 +1829,6 @@ static int __devinit sis190_init_one(struct pci_dev *pdev,
if (rc < 0)
goto err_remove_mii;
- pci_set_drvdata(pdev, dev);
-
net_probe(tp, KERN_INFO "%s: %s at %p (IRQ: %d), "
"%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x\n",
pci_name(pdev), sis_chip_info[ent->driver_data].name,