android_kernel_sony_sdm845/drivers
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Koen Vandeputte 0e2bc507f2 PCI: dwc: Fix enumeration end when reaching root subordinate
commit fc110ebdd014dd1368c98e7685b47789c31fab42 upstream.

The subordinate value indicates the highest bus number which can be
reached downstream though a certain device.

Commit a20c7f36bd3d ("PCI: Do not allocate more buses than available in
parent") ensures that downstream devices cannot assign busnumbers higher
than the upstream device subordinate number, which was indeed illogical.

By default, dw_pcie_setup_rc() inits the Root Complex subordinate to a
value of 0x01.

Due to this combined with above commit, enumeration stops digging deeper
downstream as soon as bus num 0x01 has been assigned, which is always the
case for a bridge device.

This results in all devices behind a bridge bus remaining undetected, as
these would be connected to bus 0x02 or higher.

Fix this by initializing the RC to a subordinate value of 0xff, which is
not altering hardware behaviour in any way, but informs probing function
pci_scan_bridge() later on which reads this value back from register.

The following nasty errors during boot are also fixed by this:

  pci_bus 0000:02: busn_res: can not insert [bus 02-ff] under [bus 01] (conflicts with (null) [bus 01])
  ...
  pci_bus 0000:03: [bus 03] partially hidden behind bridge 0000:01 [bus 01]
  ...
  pci_bus 0000:04: [bus 04] partially hidden behind bridge 0000:01 [bus 01]
  ...
  pci_bus 0000:05: [bus 05] partially hidden behind bridge 0000:01 [bus 01]
  pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 05
  pci_bus 0000:02: busn_res: can not insert [bus 02-05] under [bus 01] (conflicts with (null) [bus 01])
  pci_bus 0000:02: [bus 02-05] partially hidden behind bridge 0000:01 [bus 01]

Fixes: a20c7f36bd3d ("PCI: Do not allocate more buses than available in
parent")
Tested-by: Niklas Cassel <niklas.cassel@axis.com>
Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
Tested-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Lucas Stach <l.stach@pengutronix.de>
Cc: stable@vger.kernel.org	# v4.15+
Cc: Binghui Wang <wangbinghui@hisilicon.com>
Cc: Jesper Nilsson <jesper.nilsson@axis.com>
Cc: Jianguo Sun <sunjianguo1@huawei.com>
Cc: Jingoo Han <jingoohan1@gmail.com>
Cc: Kishon Vijay Abraham I <kishon@ti.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Minghuan Lian <minghuan.Lian@freescale.com>
Cc: Mingkai Hu <mingkai.hu@freescale.com>
Cc: Murali Karicheri <m-karicheri2@ti.com>
Cc: Pratyush Anand <pratyush.anand@gmail.com>
Cc: Richard Zhu <hongxing.zhu@nxp.com>
Cc: Roy Zang <tie-fei.zang@freescale.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Stanimir Varbanov <svarbanov@mm-sol.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Xiaowei Song <songxiaowei@hisilicon.com>
Cc: Zhou Wang <wangzhou1@hisilicon.com>
[fabio: adapted to the file location of 4.9 kernel]
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-18 11:18:56 +01:00
..
accessibility
acpi acpi, nfit: fix register dimm error handling 2018-02-17 13:21:20 +01:00
amba
android binder: add missing binder_unlock() 2018-02-28 10:18:33 +01:00
ata ahci: Add Intel Cannon Lake PCH-H PCI ID 2018-02-17 13:21:15 +01:00
atm atm: horizon: Fix irq release error 2017-12-14 09:28:24 +01:00
auxdisplay auxdisplay: img-ascii-lcd: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE 2018-02-13 12:35:55 +01:00
base drivers: base: cacheinfo: fix boot error message when acpi is enabled 2018-01-31 12:55:51 +01:00
bcma
block loop: Fix lost writes caused by missing flag 2018-03-18 11:18:50 +01:00
bluetooth Bluetooth: btusb: Restore QCA Rome suspend/resume fix with a "rewritten" version 2018-02-17 13:21:19 +01:00
bus sunxi-rsb: Include OF based modalias in device uevent 2018-01-10 09:29:52 +01:00
cdrom
char tpm-dev-common: Reject too short writes 2018-03-11 16:21:28 +01:00
clk clk: meson: gxbb: fix build error without RESET_CONTROLLER 2018-02-25 11:05:55 +01:00
clocksource clocksource/drivers/stm32: Fix kernel panic with multiple timers 2018-02-17 13:21:20 +01:00
connector
cpufreq cpufreq: s3c24xx: Fix broken s3c_cpufreq_init() 2018-03-11 16:21:28 +01:00
cpuidle cpuidle: fix broadcast control when broadcast can not be entered 2017-12-25 14:23:46 +01:00
crypto crypto: s5p-sss - Fix kernel Oops in AES-ECB mode 2018-02-25 11:05:56 +01:00
dax device-dax: implement ->split() to catch invalid munmap attempts 2018-02-28 10:18:33 +01:00
dca
devfreq PM / devfreq: Propagate error from devfreq_add_device() 2018-02-22 15:43:52 +01:00
dio
dma dmaengine: fsl-edma: disable clks on all error paths 2018-03-03 10:23:20 +01:00
dma-buf dma-buf: Update kerneldoc for sync_file_create 2017-12-09 22:01:56 +01:00
edac x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-22 15:43:55 +01:00
eisa
extcon extcon: palmas: Check the parent instance to prevent the NULL 2017-11-21 09:23:21 +01:00
firewire
firmware efi/esrt: Cleanup bad memory map log messages 2017-12-20 10:07:26 +01:00
fmc
fpga
gpio gpio: xgene: mark PM functions as __maybe_unused 2018-02-25 11:05:52 +01:00
gpu drm/amdgpu:Always save uvd vcpu_bo in VM Mode 2018-03-18 11:18:49 +01:00
hid usb: ldusb: add PIDs for new CASSY devices supported by this driver 2018-02-28 10:18:32 +01:00
hsi
hv x86/retpoline/hyperv: Convert assembler indirect jumps 2018-01-17 09:38:59 +01:00
hwmon x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-22 15:43:55 +01:00
hwspinlock
hwtracing intel_th: pci: Add Gemini Lake support 2017-12-20 10:07:22 +01:00
i2c i2c: designware: must wait for enable 2018-03-03 10:23:20 +01:00
ide
idle idle: i7300: add PCI dependency 2018-02-25 11:05:55 +01:00
iio iio: adis_lib: Initialize trigger before requesting interrupt 2018-02-28 10:18:31 +01:00
infiniband IB/mlx5: Fix incorrect size of klms in the memory region 2018-03-18 11:18:50 +01:00
input Input: tca8418_keypad - remove double read of key event register 2018-03-18 11:18:53 +01:00
iommu iommu/arm-smmu-v3: Cope with duplicated Stream IDs 2018-01-10 09:29:53 +01:00
ipack
irqchip irqchip/gic-v3: Use wmb() instead of smb_wmb() in gic_raise_softirq() 2018-02-28 10:18:31 +01:00
isdn ISDN: eicon: reduce stack size of sig_ind function 2018-02-25 11:05:55 +01:00
leds led: core: Fix brightness setting when setting delay_off=0 2018-03-03 10:23:24 +01:00
lguest
lightnvm
macintosh
mailbox mailbox: handle empty message in tx_tick 2017-08-06 18:59:42 -07:00
mcb MCB: add support for SC31 to mcb-lpc 2017-09-09 17:39:41 +02:00
md bcache: don't attach backing with duplicate UUID 2018-03-18 11:18:50 +01:00
media tc358743: fix register i2c_rd/wr function fix 2018-03-18 11:18:53 +01:00
memory ARM: OMAP2+: gpmc-onenand: propagate error on initialization failure 2017-12-14 09:28:16 +01:00
memstick
message
mfd mfd: twl6040: Fix child-node lookup 2017-12-29 17:42:58 +01:00
misc cxl: Check if vphb exists before iterating over AFU devices 2017-12-25 14:23:36 +01:00
mmc mmc: mediatek: Fixed bug where clock frequency could be set wrong 2017-12-20 10:07:23 +01:00
mtd ubi: Fix race condition between ubi volume creation and udev 2018-03-18 11:18:54 +01:00
net net: phy: fix phy_start to consider PHY_IGNORE_INTERRUPT 2018-03-11 16:21:32 +01:00
nfc nfc: fdp: fix NULL pointer dereference 2017-08-06 18:59:42 -07:00
ntb ntb: transport shouldn't disable link due to bogus values in SPADs 2017-08-30 10:21:55 +02:00
nubus
nvdimm libnvdimm, dax: fix 1GB-aligned namespaces vs physical misalignment 2018-02-28 10:18:34 +01:00
nvme nvme: check hw sectors before setting chunk sectors 2018-03-03 10:23:20 +01:00
nvmem nvmem: imx-ocotp: Fix wrong register size 2017-08-06 18:59:48 -07:00
of of: device: Export of_device_{get_modalias, uvent_modalias} to modules 2017-07-27 15:08:08 -07:00
oprofile
parisc parisc: Hide Diva-built-in serial aux and graphics card 2017-12-29 17:42:59 +01:00
parport parisc, parport_gsc: Fixes for printk continuation lines 2017-06-17 06:41:54 +02:00
pci PCI: dwc: Fix enumeration end when reaching root subordinate 2018-03-18 11:18:56 +01:00
pcmcia
perf perf: xgene: Include module.h 2018-02-25 11:05:51 +01:00
phy phy: work around 'phys' references to usb-nop-xceiv devices 2018-01-23 19:57:07 +01:00
pinctrl pinctrl: sunxi: Fix A64 UART mux value 2018-02-25 11:05:46 +01:00
platform platform/x86: intel_mid_thermal: Fix suspend handlers unused warning 2018-02-25 11:05:51 +01:00
pnp
power power: reset: zx-reboot: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE 2018-02-03 17:05:35 +01:00
powercap
pps
ps3
ptp
pwm pwm: rockchip: State of PWM clock should synchronize with PWM enabled state 2017-04-21 09:31:22 +02:00
rapidio drivers/rapidio/devices/rio_mport_cdev.c: fix resource leak in error handling path in 'rio_dma_transfer()' 2017-12-14 09:28:22 +01:00
ras
regulator regulator: fan53555: fix I2C device ids 2017-11-02 09:49:15 +01:00
remoteproc
reset reset: ti_syscon: fix a ti_syscon_reset_status issue 2017-10-08 10:26:03 +02:00
rpmsg
rtc rtc-opal: Fix handling of firmware error codes, prevent busy loops 2018-02-22 15:43:48 +01:00
s390 s390/qeth: fix IPA command submission race 2018-03-11 16:21:34 +01:00
sbus
scsi scsi: qla2xxx: Replace fcport alloc with qla2x00_alloc_fcport 2018-03-18 11:18:54 +01:00
sfi
sh
sn
soc soc: mediatek: pwrap: fix compiler errors 2017-12-20 10:07:32 +01:00
spi spi: atmel: fixed spin_lock usage inside atmel_spi_remove 2018-03-03 10:23:22 +01:00
spmi spmi: Include OF based modalias in device uevent 2017-07-27 15:08:08 -07:00
ssb
staging staging: android: ashmem: Fix lockdep issue during llseek 2018-03-18 11:18:55 +01:00
target target/iscsi: avoid NULL dereference in CHAP auth error path 2018-02-22 15:43:49 +01:00
tc
thermal thermal: fix INTEL_SOC_DTS_IOSF_CORE dependencies 2018-02-25 11:05:52 +01:00
thunderbolt
tty earlycon: add reg-offset to physical address before mapping 2018-03-18 11:18:56 +01:00
uio
usb usb: gadget: f_fs: Fix use-after-free in ffs_fs_kill_sb() 2018-03-18 11:18:56 +01:00
uwb uwb: ensure that endpoint is interrupt 2017-10-12 11:51:19 +02:00
vfio vfio/pci: Virtualize Maximum Payload Size 2017-12-25 14:23:45 +01:00
vhost vhost: use mutex_lock_nested() in vhost_dev_lock_vqs() 2018-02-25 11:05:39 +01:00
video video: fbdev: via: remove possibly unused variables 2018-02-25 11:05:51 +01:00
virt
virtio virtio_ring: fix num_free handling in error case 2018-03-18 11:18:50 +01:00
vlynq
vme
w1
watchdog watchdog: hpwdt: Remove legacy NMI sourcing. 2018-03-18 11:18:53 +01:00
xen xen/gntdev: Fix partial gntdev_mmap() cleanup 2018-03-03 10:23:28 +01:00
zorro
Kconfig
Makefile usb: build drivers/usb/common/ when USB_SUPPORT is set 2018-02-25 11:05:45 +01:00