1. 01 5月, 2010 1 次提交
    • A
      e1000e: Fix oops caused by ASPM patch. · 0c75ba22
      Anton Blanchard 提交于
      Commit 6f461f6c
      ("e1000e: enable/disable ASPM L0s and L1 and ERT according to hardware errata")
      oopses on one of my ppc64 boxes with a NULL pointer (0x4a):
      
      Unable to handle kernel paging request for data at address 0x0000004a
      Faulting instruction address: 0xc0000000004d2f1c
      cpu 0xe: Vector: 300 (Data Access) at [c000000bec1833a0]
          pc: c0000000004d2f1c: .e1000e_disable_aspm+0xe0/0x150
          lr: c0000000004d2f0c: .e1000e_disable_aspm+0xd0/0x150
         dar: 4a
      
      [c000000bec1836d0] c00000000069b9d8 .e1000_probe+0x84/0xe8c
      [c000000bec1837b0] c000000000386d90 .local_pci_probe+0x4c/0x68
      [c000000bec183840] c0000000003872ac .pci_device_probe+0xfc/0x148
      [c000000bec183900] c000000000409e8c .driver_probe_device+0xe4/0x1d0
      [c000000bec1839a0] c00000000040a024 .__driver_attach+0xac/0xf4
      [c000000bec183a40] c000000000409124 .bus_for_each_dev+0x9c/0x10c
      [c000000bec183b00] c000000000409c1c .driver_attach+0x40/0x60
      [c000000bec183b90] c0000000004085dc .bus_add_driver+0x150/0x328
      [c000000bec183c40] c00000000040a58c .driver_register+0x100/0x1c4
      [c000000bec183cf0] c00000000038764c .__pci_register_driver+0x78/0x128
      
      Seems like pdev->bus->self == NULL. I haven't touched pci in a long time
      so I'm trying to remember what this means (no pcie bridge perhaps?)
      
      The patch below fixes the oops for me.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Reviewed-by: NBruce Allan <bruce.w.allan@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0c75ba22
  2. 29 4月, 2010 4 次提交
  3. 28 4月, 2010 12 次提交
  4. 27 4月, 2010 3 次提交
  5. 25 4月, 2010 1 次提交
  6. 24 4月, 2010 2 次提交
    • A
      gianfar: Fix potential oops during OF address translation · 7ce97d4f
      Anton Vorontsov 提交于
      gianfar driver may pass NULL pointer to the of_translate_address(),
      which may lead to a kernel oops. Fix this by using of_iomap(), which
      is also much simpler and shorter.
      Signed-off-by: NAnton Vorontsov <avorontsov@mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7ce97d4f
    • A
      fsl_pq_mdio: Fix kernel oops during OF address translation · 3b1fd3e5
      Anton Vorontsov 提交于
      Old P1020RDB device trees were not specifing tbipa address for
      MDIO nodes, which is now causing this kernel oops:
      
       ...
       eth2: TX BD ring size for Q[6]: 256
       eth2: TX BD ring size for Q[7]: 256
       Unable to handle kernel paging request for data at address 0x00000000
       Faulting instruction address: 0xc0015504
       Oops: Kernel access of bad area, sig: 11 [#1]
       ...
       NIP [c0015504] memcpy+0x3c/0x9c
       LR [c000a9f8] __of_translate_address+0xfc/0x21c
       Call Trace:
       [df839e00] [c000a94c] __of_translate_address+0x50/0x21c (unreliable)
       [df839e50] [c01a33e8] get_gfar_tbipa+0xb0/0xe0
       ...
      
      The old device trees are buggy, though having a dead ethernet is
      better than a dead kernel, so fix the issue by using of_iomap().
      
      Also, a somewhat similar issue exist in the probe() routine, though
      there the oops is only a possibility. Nonetheless, fix it too.
      Signed-off-by: NAnton Vorontsov <avorontsov@mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3b1fd3e5
  7. 22 4月, 2010 5 次提交
  8. 20 4月, 2010 3 次提交
  9. 19 4月, 2010 9 次提交