1. 20 Oct, 2020 1 commit
    • Hou Zhiqiang's avatar
      PCI: dwc: Add link up check in dw_child_pcie_ops.map_bus() · 15b23906
      Hou Zhiqiang authored
      NXP Layerscape (ls1028a, ls2088a), dra7xxx and imx6 platforms are either
      programmed or statically configured to forward the error triggered by a
      link-down state (eg no connected endpoint device) on the system bus for
      PCI configuration transactions; these errors are reported as an SError
      at system level, which is fatal.
      
      Enumerating a PCI tree when the PCIe link is down is not sensible
      either, so even if the link-up check is racy (link can go down after
      map_bus() is called) add a link-up check in map_bus() to prevent issuing
      configuration transactions when the link is down.
      
      SError report:
      
       SError Interrupt on CPU2, code 0xbf000002 -- SError
       CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.9.0-rc5-next-20200914-00001-gf965d3ec86fa #67
       Hardware name: LS1046A RDB Board (DT)
       pstate: 20000085 (nzCv daIf -PAN -UAO BTYPE=--)
       pc : pci_generic_config_read+0x3c/0xe0
       lr : pci_generic_config_read+0x24/0xe0
       sp : ffff80001003b7b0
       x29: ffff80001003b7b0 x28: ffff80001003ba74
       x27: ffff000971d96800 x26: ffff00096e77e0a8
       x25: ffff80001003b874 x24: ffff80001003b924
       x23: 0000000000000004 x22: 0000000000000000
       x21: 0000000000000000 x20: ffff80001003b874
       x19: 0000000000000004 x18: ffffffffffffffff
       x17: 00000000000000c0 x16: fffffe0025981840
       x15: ffffb94c75b69948 x14: 62203a383634203a
       x13: 666e6f635f726568 x12: 202c31203d207265
       x11: 626d756e3e2d7375 x10: 656877202c307830
       x9 : 203d206e66766564 x8 : 0000000000000908
       x7 : 0000000000000908 x6 : ffff800010900000
       x5 : ffff00096e77e080 x4 : 0000000000000000
       x3 : 0000000000000003 x2 : 84fa3440ff7e7000
       x1 : 0000000000000000 x0 : ffff800010034000
       Kernel panic - not syncing: Asynchronous SError Interrupt
       CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.9.0-rc5-next-20200914-00001-gf965d3ec86fa #67
       Hardware name: LS1046A RDB Board (DT)
       Call trace:
        dump_backtrace+0x0/0x1c0
        show_stack+0x18/0x28
        dump_stack+0xd8/0x134
        panic+0x180/0x398
        add_taint+0x0/0xb0
        arm64_serror_panic+0x78/0x88
        do_serror+0x68/0x180
        el1_error+0x84/0x100
        pci_generic_config_read+0x3c/0xe0
        dw_pcie_rd_other_conf+0x78/0x110
        pci_bus_read_config_dword+0x88/0xe8
        pci_bus_generic_read_dev_vendor_id+0x30/0x1b0
        pci_bus_read_dev_vendor_id+0x4c/0x78
        pci_scan_single_device+0x80/0x100
      
      Link: https://lore.kernel.org/r/20200916054130.8685-1-Zhiqiang.Hou@nxp.comSigned-off-by: default avatarHou Zhiqiang <Zhiqiang.Hou@nxp.com>
      [lorenzo.pieralisi@arm.com: rewrote the commit log, remove Fixes tag]
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      15b23906
  2. 13 Oct, 2020 6 commits
  3. 28 Sep, 2020 1 commit
  4. 24 Sep, 2020 2 commits
  5. 21 Sep, 2020 9 commits
  6. 10 Sep, 2020 7 commits
  7. 08 Sep, 2020 14 commits