summaryrefslogtreecommitdiff
path: root/drivers/s390/char/sclp_cpi_sys.c
diff options
context:
space:
mode:
authorBenjamin Block <bblock@linux.ibm.com>2020-02-19 18:09:25 +0300
committerMartin K. Petersen <martin.petersen@oracle.com>2020-02-24 20:51:15 +0300
commita3fd4bfe85fbb67cf4ec1232d0af625ece3c508b (patch)
tree70d90f377984f45912c31568c98869e5a22e9a33 /drivers/s390/char/sclp_cpi_sys.c
parent51fdaa0490241e8cd41b40cbf43a336d1a014460 (diff)
downloadlinux-a3fd4bfe85fbb67cf4ec1232d0af625ece3c508b.tar.xz
scsi: zfcp: fix wrong data and display format of SFP+ temperature
When implementing support for retrieval of local diagnostic data from the FCP channel, the wrong data format was assumed for the temperature of the local SFP+ connector. The Fibre Channel Link Services (FC-LS-3) specification is not clear on the format of the stored integer, and only after consulting the SNIA specification SFF-8472 did we realize it is stored as two's complement. Thus, the used data and display format is wrong, and highly misleading for users when the temperature should drop below 0°C (however unlikely that may be). To fix this, change the data format in `struct fsf_qtcb_bottom_port` from unsigned to signed, and change the printf format string used to generate `zfcp_sysfs_adapter_diag_sfp_temperature_show()` from `%hu` to `%hd`. Link: https://lore.kernel.org/r/d6e3be5428da5c9490cfff4df7cae868bc9f1a7e.1582039501.git.bblock@linux.ibm.com Fixes: a10a61e807b0 ("scsi: zfcp: support retrieval of SFP Data via Exchange Port Data") Fixes: 6028f7c4cd87 ("scsi: zfcp: introduce sysfs interface for diagnostics of local SFP transceiver") Cc: <stable@vger.kernel.org> # 5.5+ Reviewed-by: Jens Remus <jremus@linux.ibm.com> Reviewed-by: Fedor Loshakov <loshakov@linux.ibm.com> Reviewed-by: Steffen Maier <maier@linux.ibm.com> Signed-off-by: Benjamin Block <bblock@linux.ibm.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/s390/char/sclp_cpi_sys.c')
0 files changed, 0 insertions, 0 deletions