瀏覽代碼

r8169: fix oops in r8169_get_mac_version

r8169_get_mac_version crashes when it meets an unknown MAC
due to tp->pci_dev not being set. Initialize it early.

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Acked-by: Francois Romieu <romieu@fr.zoreil.com>
Ivan Vecera 17 年之前
父節點
當前提交
21e197f231
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/net/r8169.c

+ 1 - 1
drivers/net/r8169.c

@@ -1617,6 +1617,7 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 	SET_NETDEV_DEV(dev, &pdev->dev);
 	SET_NETDEV_DEV(dev, &pdev->dev);
 	tp = netdev_priv(dev);
 	tp = netdev_priv(dev);
 	tp->dev = dev;
 	tp->dev = dev;
+	tp->pci_dev = pdev;
 	tp->msg_enable = netif_msg_init(debug.msg_enable, R8169_MSG_DEFAULT);
 	tp->msg_enable = netif_msg_init(debug.msg_enable, R8169_MSG_DEFAULT);
 
 
 	/* enable device (incl. PCI PM wakeup and hotplug setup) */
 	/* enable device (incl. PCI PM wakeup and hotplug setup) */
@@ -1777,7 +1778,6 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 #endif
 #endif
 
 
 	tp->intr_mask = 0xffff;
 	tp->intr_mask = 0xffff;
-	tp->pci_dev = pdev;
 	tp->mmio_addr = ioaddr;
 	tp->mmio_addr = ioaddr;
 	tp->align = cfg->align;
 	tp->align = cfg->align;
 	tp->hw_start = cfg->hw_start;
 	tp->hw_start = cfg->hw_start;