android_kernel_oneplus_sm8250/drivers/parisc
Helge Deller 8225db4a70 parisc: Disable HP HSC-PCI Cards to prevent kernel crash
commit 5fa1659105fac63e0f3c199b476025c2e04111ce upstream.

The HP Dino PCI controller chip can be used in two variants: as on-board
controller (e.g. in B160L), or on an Add-On card ("Card-Mode") to bridge
PCI components to systems without a PCI bus, e.g. to a HSC/GSC bus.  One
such Add-On card is the HP HSC-PCI Card which has one or more DEC Tulip
PCI NIC chips connected to the on-card Dino PCI controller.

Dino in Card-Mode has a big disadvantage: All PCI memory accesses need
to go through the DINO_MEM_DATA register, so Linux drivers will not be
able to use the ioremap() function. Without ioremap() many drivers will
not work, one example is the tulip driver which then simply crashes the
kernel if it tries to access the ports on the HP HSC card.

This patch disables the HP HSC card if it finds one, and as such
fixes the kernel crash on a HP D350/2 machine.

Signed-off-by: Helge Deller <deller@gmx.de>
Noticed-by: Phil Scarr <phil.scarr@pm.me>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-10-05 13:10:04 +02:00
..
asp.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
ccio-dma.c parisc: Use implicit space register selection for loading the coherence index of I/O pdirs 2019-06-11 12:20:51 +02:00
ccio-rm-dma.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
dino.c parisc: Disable HP HSC-PCI Cards to prevent kernel crash 2019-10-05 13:10:04 +02:00
eisa_eeprom.c parisc: Show unhashed EISA EEPROM address 2018-01-02 21:01:02 +01:00
eisa_enumerator.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
eisa.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
gsc.c
gsc.h
hppb.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
iommu-helpers.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
iosapic_private.h
iosapic.c
Kconfig iommu-helper: mark iommu_is_span_boundary as inline 2018-05-09 06:55:44 +02:00
lasi.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
lba_pci.c parisc/pci: Switch LBA PCI bus from Hard Fail to Soft Fail mode 2018-03-27 18:52:22 +02:00
led.c parisc: Skip registering LED when running in QEMU 2019-05-25 18:23:23 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pdc_stable.c parisc: pdc_stable: Fix locking when creating sysfs links 2017-07-31 16:43:13 +02:00
power.c parisc: Directly call machine_power_off() in power button driver 2018-03-27 18:52:22 +02:00
README.dino
sba_iommu.c parisc: Use implicit space register selection for loading the coherence index of I/O pdirs 2019-06-11 12:20:51 +02:00
superio.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
wax.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00

/*
** HP VISUALIZE Workstation PCI Bus Defect
**
** "HP has discovered a potential system defect that can affect
** the behavior of five models of HP VISUALIZE workstations when
** equipped with third-party or customer-installed PCI I/O expansion
** cards. The defect is limited to the HP C180, C160, C160L, B160L,
** and B132L VISUALIZE workstations, and will only be encountered
** when data is transmitted through PCI I/O expansion cards on the
** PCI bus. HP-supplied graphics cards that utilize the PCI bus are
** not affected."
**
** http://h20000.www2.hp.com/bizsupport/TechSupport/Home.jsp?locale=en_US&prodTypeId=12454&prodSeriesId=44443
**
**	Product		First Good Serial Number
**  C200/C240 (US)	US67350000
**B132L+/B180 (US)	US67390000
**   C200 (Europe)	3713G01000
**  B180L (Europe)	3720G01000
**
** Note that many boards were fixed/replaced under a free replacement
** program. Assume a machine is only "suspect" until proven otherwise.
**
** "The pci_check program will also be available as application
**  patch PHSS_12295"
*/