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

Commit 6c44c0fe authored by Chaitra P B's avatar Chaitra P B Committed by Martin K. Petersen
Browse files

scsi: mpt3sas: Added print to notify cable running at a degraded speed.



Driver processes the event MPI26_EVENT_ACTIVE_CABLE_DEGRADED when a
cable is present and is running at a degraded speed (below the SAS3 12
Gb/s rate). Prints added to inform the user that the cable is not
running at optimal speed.

Signed-off-by: default avatarChaitra P B <chaitra.basappa@broadcom.com>
Signed-off-by: default avatarSuganath Prabu S <suganath-prabu.subramani@broadcom.com>
Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 96b6ce4e
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -624,6 +624,8 @@ typedef struct _MPI26_EVENT_DATA_ACTIVE_CABLE_EXCEPT {

/* defines for ReasonCode field */
#define MPI26_EVENT_ACTIVE_CABLE_INSUFFICIENT_POWER     (0x00)
#define MPI26_EVENT_ACTIVE_CABLE_PRESENT                (0x01)
#define MPI26_EVENT_ACTIVE_CABLE_DEGRADED               (0x02)

/*Hard Reset Received Event data */

+17 −8
Original line number Diff line number Diff line
@@ -8016,15 +8016,24 @@ mpt3sas_scsih_event_callback(struct MPT3SAS_ADAPTER *ioc, u8 msix_index,
	case MPI2_EVENT_ACTIVE_CABLE_EXCEPTION:
		ActiveCableEventData =
		    (Mpi26EventDataActiveCableExcept_t *) mpi_reply->EventData;
		if (ActiveCableEventData->ReasonCode ==
				MPI26_EVENT_ACTIVE_CABLE_INSUFFICIENT_POWER) {
			pr_info(MPT3SAS_FMT "Currently an active cable with ReceptacleID %d",
			    ioc->name, ActiveCableEventData->ReceptacleID);
			pr_info("cannot be powered and devices connected to this active cable");
			pr_info("will not be seen. This active cable");
			pr_info("requires %d mW of power",
		switch (ActiveCableEventData->ReasonCode) {
		case MPI26_EVENT_ACTIVE_CABLE_INSUFFICIENT_POWER:
			pr_notice(MPT3SAS_FMT "Receptacle ID %d: This active cable"
				  " requires %d mW of power\n", ioc->name,
			     ActiveCableEventData->ReceptacleID,
			     ActiveCableEventData->ActiveCablePowerRequirement);
			pr_notice(MPT3SAS_FMT "Receptacle ID %d: Devices connected"
				  " to this active cable will not be seen\n",
			     ioc->name, ActiveCableEventData->ReceptacleID);
			break;

		case MPI26_EVENT_ACTIVE_CABLE_DEGRADED:
			pr_notice(MPT3SAS_FMT "ReceptacleID %d: This cable",
				ioc->name, ActiveCableEventData->ReceptacleID);
			pr_notice(" is not running at an optimal speed(12 Gb/s)\n");
			break;
		}

		break;

	default: /* ignore the rest */