Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ffdadd68 authored by ojab's avatar ojab Committed by Martin K. Petersen
Browse files

scsi: mpt3sas: disable ASPM for MPI2 controllers



MPI2 controllers sometimes got lost (i.e. disappear from
/sys/bus/pci/devices) if ASMP is enabled.

Signed-off-by: default avatarSlava Kardakov <ojab@ojab.ru>
Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=60644


Cc: <stable@vger.kernel.org>
Acked-by: default avatarSreekanth Reddy <Sreekanth.Reddy@broadcom.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent f2e767bb
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -51,6 +51,7 @@
#include <linux/workqueue.h>
#include <linux/workqueue.h>
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/pci.h>
#include <linux/pci.h>
#include <linux/pci-aspm.h>
#include <linux/interrupt.h>
#include <linux/interrupt.h>
#include <linux/aer.h>
#include <linux/aer.h>
#include <linux/raid_class.h>
#include <linux/raid_class.h>
@@ -8761,6 +8762,8 @@ _scsih_probe(struct pci_dev *pdev, const struct pci_device_id *id)


	switch (hba_mpi_version) {
	switch (hba_mpi_version) {
	case MPI2_VERSION:
	case MPI2_VERSION:
		pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S |
			PCIE_LINK_STATE_L1 | PCIE_LINK_STATE_CLKPM);
		/* Use mpt2sas driver host template for SAS 2.0 HBA's */
		/* Use mpt2sas driver host template for SAS 2.0 HBA's */
		shost = scsi_host_alloc(&mpt2sas_driver_template,
		shost = scsi_host_alloc(&mpt2sas_driver_template,
		  sizeof(struct MPT3SAS_ADAPTER));
		  sizeof(struct MPT3SAS_ADAPTER));