Message ID | 1484923333-8509-2-git-send-email-chaitra.basappa@broadcom.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
On Fri, Jan 20, 2017 at 08:12:10PM +0530, Chaitra P B wrote: > 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>
On Fri, 2017-01-20 at 20:12 +0530, Chaitra P B wrote: > 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. [] > diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c [] > @@ -8028,15 +8028,23 @@ 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", > + switch (ActiveCableEventData->ReasonCode) { > + case MPI26_EVENT_ACTIVE_CABLE_INSUFFICIENT_POWER: > + pr_info(MPT3SAS_FMT "Currently an active cable with ReceptacleID %d\n", > 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", > + pr_info(" cannot be powered and devices connected to\n"); > + pr_info(" this active cable will not be seen. This\n"); > + pr_info(" cable requires %d mW of power\n", Can you please use more intelligible logging where sentences are not broken across multiple lines of output? Something like: 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); I believe MPT3SAS_FMT is unnecessary obfuscation and it should just be replaced by "%s: " everywhere. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 2017-01-20 at 09:55 -0800, Joe Perches wrote: > I believe MPT3SAS_FMT is unnecessary obfuscation and > it should just be replaced by "%s: " everywhere. Here's a trivial command that could be used one day: $ git grep --name-only MPT3SAS_FMT -- "*.c" | \ xargs perl -p -i -e 'local $/; while (<>) { s/\bMPT3SAS_FMT\s*"/"%s: /g; print; }' -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/scsi/mpt3sas/mpi/mpi2_ioc.h b/drivers/scsi/mpt3sas/mpi/mpi2_ioc.h index 8bae305..af4be40 100644 --- a/drivers/scsi/mpt3sas/mpi/mpi2_ioc.h +++ b/drivers/scsi/mpt3sas/mpi/mpi2_ioc.h @@ -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 */ diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c index 75f3fce..0f71f4a 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c +++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c @@ -8028,15 +8028,23 @@ 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", + switch (ActiveCableEventData->ReasonCode) { + case MPI26_EVENT_ACTIVE_CABLE_INSUFFICIENT_POWER: + pr_info(MPT3SAS_FMT "Currently an active cable with ReceptacleID %d\n", 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", + pr_info(" cannot be powered and devices connected to\n"); + pr_info(" this active cable will not be seen. This\n"); + pr_info(" cable requires %d mW of power\n", ActiveCableEventData->ActiveCablePowerRequirement); + break; + + case MPI26_EVENT_ACTIVE_CABLE_DEGRADED: + pr_info(MPT3SAS_FMT "Currently a cable with ReceptacleID %d", + ioc->name, ActiveCableEventData->ReceptacleID); + pr_info(" is not running at optimal speed(12 Gb/s)\n"); + break; } + break; default: /* ignore the rest */