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: Chaitra P B <chaitra.basappa@broadcom.com>
Signed-off-by: Suganath Prabu S <suganath-prabu.subramani@broadcom.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Chaitra P B 2017-01-23 15:26:07 +05:30 committed by Martin K. Petersen
parent 96b6ce4e8b
commit 6c44c0fe91
2 changed files with 19 additions and 8 deletions

View file

@ -624,6 +624,8 @@ typedef struct _MPI26_EVENT_DATA_ACTIVE_CABLE_EXCEPT {
/* defines for ReasonCode field */ /* defines for ReasonCode field */
#define MPI26_EVENT_ACTIVE_CABLE_INSUFFICIENT_POWER (0x00) #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 */ /*Hard Reset Received Event data */

View file

@ -8016,15 +8016,24 @@ mpt3sas_scsih_event_callback(struct MPT3SAS_ADAPTER *ioc, u8 msix_index,
case MPI2_EVENT_ACTIVE_CABLE_EXCEPTION: case MPI2_EVENT_ACTIVE_CABLE_EXCEPTION:
ActiveCableEventData = ActiveCableEventData =
(Mpi26EventDataActiveCableExcept_t *) mpi_reply->EventData; (Mpi26EventDataActiveCableExcept_t *) mpi_reply->EventData;
if (ActiveCableEventData->ReasonCode == switch (ActiveCableEventData->ReasonCode) {
MPI26_EVENT_ACTIVE_CABLE_INSUFFICIENT_POWER) { case MPI26_EVENT_ACTIVE_CABLE_INSUFFICIENT_POWER:
pr_info(MPT3SAS_FMT "Currently an active cable with ReceptacleID %d", pr_notice(MPT3SAS_FMT "Receptacle ID %d: This active cable"
ioc->name, ActiveCableEventData->ReceptacleID); " requires %d mW of power\n", ioc->name,
pr_info("cannot be powered and devices connected to this active cable"); ActiveCableEventData->ReceptacleID,
pr_info("will not be seen. This active cable"); ActiveCableEventData->ActiveCablePowerRequirement);
pr_info("requires %d mW of power", pr_notice(MPT3SAS_FMT "Receptacle ID %d: Devices connected"
ActiveCableEventData->ActiveCablePowerRequirement); " 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; break;
default: /* ignore the rest */ default: /* ignore the rest */