Commit 738e1e69 authored by Petr Vandrovec's avatar Petr Vandrovec Committed by David S. Miller

r8169: NULL pointer dereference on r8169 load

mmio_addr in r8169 needs to be initialized before use

Maybe that all tp-> initialization should be moved before rtl_init_mac_address call,
but this is enough to get rid of crash in rtl_rar_set due to mmio_addr being uninitialized.
Signed-off-by: default avatarPetr Vandrovec <petr@vandrovec.name>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f3073ac7
...@@ -2154,6 +2154,8 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -2154,6 +2154,8 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
spin_lock_init(&tp->lock); spin_lock_init(&tp->lock);
tp->mmio_addr = ioaddr;
rtl_init_mac_address(tp, ioaddr); rtl_init_mac_address(tp, ioaddr);
/* Get MAC address */ /* Get MAC address */
...@@ -2186,7 +2188,6 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -2186,7 +2188,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->mmio_addr = ioaddr;
tp->align = cfg->align; tp->align = cfg->align;
tp->hw_start = cfg->hw_start; tp->hw_start = cfg->hw_start;
tp->intr_event = cfg->intr_event; tp->intr_event = cfg->intr_event;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment