]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
parisc: Disable HP HSC-PCI Cards to prevent kernel crash
authorHelge Deller <deller@gmx.de>
Thu, 5 Sep 2019 14:44:17 +0000 (16:44 +0200)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 16 Oct 2019 09:55:30 +0000 (11:55 +0200)
commit747199b4884098af334d3bac6419627c306201ad
treec8536bd54b9d06bd8606060b036898fd3862443f
parent11e593381029c4045fbc8599b469b4f4dc65665d
parisc: Disable HP HSC-PCI Cards to prevent kernel crash

BugLink: https://bugs.launchpad.net/bugs/1847155
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>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
drivers/parisc/dino.c