diff options
author | Anton Blanchard <anton@samba.org> | 2012-06-24 14:26:17 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-07-10 05:18:59 -0400 |
commit | d6b9a81b2a45786384f5bd3516bd6ddfb4b772c6 (patch) | |
tree | 3d6b8ba13ecd47584959f44d312b2babf64478f6 /arch/powerpc/include/asm/device.h | |
parent | a980349725346ce7e3c1774e327c2f1fdca4593d (diff) |
powerpc: IOMMU fault injection
Add the ability to inject IOMMU faults. We enable this per device
via a fail_iommu sysfs property, similar to fault injection on other
subsystems.
An example:
...
0003:01:00.1 Ethernet controller: Emulex Corporation OneConnect 10Gb NIC (be3) (rev 02)
To inject one error to this device:
echo 1 > /sys/bus/pci/devices/0003:01:00.1/fail_iommu
echo 1 > /sys/kernel/debug/fail_iommu/probability
echo 1 > /sys/kernel/debug/fail_iommu/times
As feared, the first failure injected on the be3 results in an
unrecoverable error, taking down both functions of the card
permanently:
be2net 0003:01:00.1: Unrecoverable error in the card
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include/asm/device.h')
-rw-r--r-- | arch/powerpc/include/asm/device.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/device.h b/arch/powerpc/include/asm/device.h index 63d5ca49cece..77e97dd0c15d 100644 --- a/arch/powerpc/include/asm/device.h +++ b/arch/powerpc/include/asm/device.h | |||
@@ -34,6 +34,9 @@ struct dev_archdata { | |||
34 | #ifdef CONFIG_EEH | 34 | #ifdef CONFIG_EEH |
35 | struct eeh_dev *edev; | 35 | struct eeh_dev *edev; |
36 | #endif | 36 | #endif |
37 | #ifdef CONFIG_FAIL_IOMMU | ||
38 | int fail_iommu; | ||
39 | #endif | ||
37 | }; | 40 | }; |
38 | 41 | ||
39 | struct pdev_archdata { | 42 | struct pdev_archdata { |