1. 03 8月, 2020 1 次提交
  2. 13 12月, 2019 1 次提交
    • E
      PCI: rockchip: Fix IO outbound ATU register number · ca01e798
      Enric Balletbo i Serra 提交于
      Since 62240a88 ("PCI: rockchip: Drop storing driver private outbound
      resource data), the offset calculation is wrong to access the register
      number to program the IO outbound ATU.
      
      Fix this by computing the ATU IO register number based on the number of MEM
      registers, not the size of the IO region.
      
      This causes 'synchronous external aborts' like the following:
      
        mwifiex_pcie 0000:01:00.0: enabling device (0000 -> 0002)
        mwifiex_pcie: PCI memory map Virt0: 00000000a573ad00 PCI memory map Virt2: 00000000783126c4
        Internal error: synchronous external abort: 96000210 [#1] PREEMPT SMP
        Modules linked in: mwifiex_pcie(+) mwifiex uvcvideo cfg80211 atmel_mxt_ts videobuf2_vmalloc ...
        CPU: 2 PID: 269 Comm: systemd-udevd Not tainted 5.4.0+ #327
        Hardware name: Google Kevin (DT)
        pstate: 60000005 (nZCv daif -PAN -UAO)
        pc : mwifiex_register_dev+0x264/0x3f8 [mwifiex_pcie]
        lr : mwifiex_register_dev+0x150/0x3f8 [mwifiex_pcie]
        sp : ffff800012073860
        x29: ffff800012073860 x28: ffff8000100a2e28
        x27: ffff8000118b6210 x26: ffff800008f57458
        x25: ffff0000ecfda000 x24: 0000000000000001
        x23: ffff0000e9905080 x22: ffff800008f5d000
        x21: ffff0000eecea078 x20: ffff0000e9905080
        x19: ffff0000eecea000 x18: 0000000000000001
        x17: 0000000000000000 x16: 0000000000000000
        x15: ffffffffffffffff x14: ffff8000118998c8
        x13: ffff000000000000 x12: 0000000000000008
        x11: 0101010101010101 x10: ffff7f7fffff7fff
        x9 : 0000000000000000 x8 : ffff0000e3c24240
        x7 : 0000000000000000 x6 : ffff0000e3c24148
        x5 : ffff0000e3c24148 x4 : ffff0000e7975ec8
        x3 : 0000000000000001 x2 : 0000000000002b42
        x1 : ffff800012c00008 x0 : ffff0000e9905080
        Call trace:
         mwifiex_register_dev+0x264/0x3f8 [mwifiex_pcie]
         mwifiex_add_card+0x2f8/0x430 [mwifiex]
         mwifiex_pcie_probe+0x98/0x148 [mwifiex_pcie]
         pci_device_probe+0x110/0x1a8
         ...
        Code: a8c67bfd d65f03c0 f942ac01 91002021 (b9400021)
      Suggested-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Fixes: 62240a88 ("PCI: rockchip: Drop storing driver private outbound resource data)
      Link: https://lore.kernel.org/r/20191211093450.7481-1-enric.balletbo@collabora.comReported-by: NEnric Balletbo i Serra <enric.balletbo@collabora.com>
      Reported-by: NVicente Bergas <vicencb@gmail.com>
      Tested-by: NVicente Bergas <vicencb@gmail.com>
      Signed-off-by: NEnric Balletbo i Serra <enric.balletbo@collabora.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-by: NAndrew Murray <andrew.murray@arm.com>
      ca01e798
  3. 21 11月, 2019 2 次提交
  4. 29 10月, 2019 2 次提交
  5. 04 9月, 2019 1 次提交
  6. 01 4月, 2019 1 次提交
    • W
      PCI: rockchip: Fix a leaked reference by adding missing of_node_put() · 69adea73
      Wen Yang 提交于
      The call to of_get_child_by_name() returns a node pointer with refcount
      incremented thus it must be explicitly decremented after the last
      usage.
      
      irq_domain_add_linear() also calls of_node_get() to increase refcount,
      so irq_domain will not be affected when it is released.
      
      Detected by coccinelle with the following warnings:
        ./drivers/pci/controller/pcie-rockchip-host.c:729:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 718, but without a corresponding object release within this function.
        ./drivers/pci/controller/pcie-rockchip-host.c:732:1-7: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 718, but without a corresponding object release within this function.
      Signed-off-by: NWen Yang <wen.yang99@zte.com.cn>
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Shawn Lin <shawn.lin@rock-chips.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: linux-pci@vger.kernel.org
      Cc: linux-rockchip@lists.infradead.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-kernel@vger.kernel.org
      69adea73
  7. 08 6月, 2018 1 次提交
  8. 10 5月, 2018 3 次提交
  9. 29 1月, 2018 1 次提交
  10. 06 9月, 2017 1 次提交
  11. 02 9月, 2017 1 次提交
  12. 30 8月, 2017 11 次提交
  13. 29 8月, 2017 2 次提交
  14. 17 8月, 2017 2 次提交
  15. 13 7月, 2017 1 次提交
  16. 03 7月, 2017 9 次提交