mirror of https://gitee.com/openkylin/linux.git
c913df3f3d
If MSI(X) interrupts are disabled via the kernel command line (pci=nomsi), the pm8001 driver will kernel panic because it does not detect that MSI interrupts are disabled and will soldier on and attempt to configure MSI interrupts anyways. This leads to a kernel panic, most likely because a required data structure is not available down the line. Using the pci_msi_enabled() function in order to detect if MSI interrupts are enabled before configuring them resolves this issue and avoids a kernel panic when the module is loaded. Additionally, the irq_vector structure must be initialized when legacy interrupts are being used otherwise legacy interrupts will simply not function and result in another panic. Signed-off-by: Benjamin Rood <brood@attotech.com> Reviewed-by: Jack Wang <jinpu.wang@profitbricks.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> |
||
---|---|---|
.. | ||
Makefile | ||
pm80xx_hwi.c | ||
pm80xx_hwi.h | ||
pm8001_chips.h | ||
pm8001_ctl.c | ||
pm8001_ctl.h | ||
pm8001_defs.h | ||
pm8001_hwi.c | ||
pm8001_hwi.h | ||
pm8001_init.c | ||
pm8001_sas.c | ||
pm8001_sas.h |