linux/drivers/s390/cio
Jan Höppner dd4b3c83b9 s390/dasd/cio: Interpret ccw_device_get_mdc return value correctly
The max data count (mdc) is an unsigned 16-bit integer value as per AR
documentation and is received via ccw_device_get_mdc() for a specific
path mask from the CIO layer. The function itself also always returns a
positive mdc value or 0 in case mdc isn't supported or couldn't be
determined.

Though, the comment for this function describes a negative return value
to indicate failures.

As a result, the DASD device driver interprets the return value of
ccw_device_get_mdc() incorrectly. The error case is essentially a dead
code path.

To fix this behaviour, check explicitly for a return value of 0 and
change the comment for ccw_device_get_mdc() accordingly.

This fix merely enables the error code path in the DASD functions
get_fcx_max_data() and verify_fcx_max_data(). The actual functionality
stays the same and is still correct.

Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
Acked-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Reviewed-by: Stefan Haberland <sth@linux.ibm.com>
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-12-20 11:52:01 -07:00
..
airq.c s390/airq: use DMA memory for adapter interrupts 2019-06-15 12:25:05 +02:00
blacklist.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
blacklist.h s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
ccwgroup.c s390 updates for the 5.4 merge window #2 2019-09-26 11:30:16 -07:00
ccwreq.c s390/cio: add basic protected virtualization support 2019-06-15 12:25:00 +02:00
chp.c s390/cio: ensure that a chpid is registered only once 2018-07-17 07:27:51 +02:00
chp.h s390/chsc: query utility strings via fmt3 channel path descriptor 2018-03-26 16:13:16 +02:00
chsc_sch.c driver_find_device: Unify the match function with class_find_device() 2019-06-24 05:22:31 +02:00
chsc_sch.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
chsc.c s390/cio: move struct node_descriptor to cio.h 2019-06-19 17:54:27 +02:00
chsc.h s390/cio: add function chsc_sgib() 2019-02-05 14:29:23 +01:00
cio_debug.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2017-11-13 11:47:01 -08:00
cio.c s390: show statistics for MSI IRQs 2019-04-29 10:47:01 +02:00
cio.h s390/cio: fix virtio-ccw DMA without PV 2019-10-10 10:49:46 +02:00
cmf.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
crw.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
css.c s390/cio: fix virtio-ccw DMA without PV 2019-10-10 10:49:46 +02:00
css.h s390/css: reduce stsch calls 2018-07-17 07:27:55 +02:00
device_fsm.c s390/cio: add basic protected virtualization support 2019-06-15 12:25:00 +02:00
device_id.c s390/cio: add basic protected virtualization support 2019-06-15 12:25:00 +02:00
device_ops.c s390/dasd/cio: Interpret ccw_device_get_mdc return value correctly 2019-12-20 11:52:01 -07:00
device_pgid.c s390/cio: add basic protected virtualization support 2019-06-15 12:25:00 +02:00
device_status.c s390/cio: add basic protected virtualization support 2019-06-15 12:25:00 +02:00
device.c s390/cio: fix virtio-ccw DMA without PV 2019-10-10 10:49:46 +02:00
device.h s390/cio: Convert timers to use timer_setup() 2017-11-14 11:01:36 +01:00
eadm_sch.c s390: cio: add SPDX identifiers to the remaining files 2017-11-24 14:28:41 +01:00
eadm_sch.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fcx.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
idset.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
idset.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
io_sch.h s390/cio: add basic protected virtualization support 2019-06-15 12:25:00 +02:00
ioasm.c s390/cio: export hsch to modules 2019-04-24 14:18:51 +02:00
ioasm.h s390: assume diag308 set always works 2018-04-10 07:38:59 +02:00
isc.c s390: cio: add SPDX identifiers to the remaining files 2017-11-24 14:28:41 +01:00
itcw.c s390/cio: fix kernel-doc usage 2018-02-05 07:34:52 +01:00
Makefile vfio-ccw: Refactor how the traces are built 2019-10-17 11:35:56 +02:00
orb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
qdio_debug.c s390/qdio: eliminate queue's last_move cursor 2019-04-10 17:47:26 +02:00
qdio_debug.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2017-11-13 11:47:01 -08:00
qdio_main.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2019-11-25 20:02:57 -08:00
qdio_setup.c s390/qdio: simplify thinint device registration 2019-10-31 17:20:51 +01:00
qdio_thinint.c s390/qdio: simplify thinint device registration 2019-10-31 17:20:51 +01:00
qdio.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2019-11-25 20:02:57 -08:00
scm.c bus_find_device: Unify the match callback with class_find_device 2019-06-24 05:22:31 +02:00
trace.c s390/cio: Remove tracing for rchp instruction 2019-05-08 15:01:22 +02:00
trace.h s390/cio: Remove tracing for rchp instruction 2019-05-08 15:01:22 +02:00
vfio_ccw_async.c vfio-ccw: make vfio_ccw_async_region_ops static 2019-07-29 18:05:03 +02:00
vfio_ccw_cp.c vfio-ccw: Set pa_nr to 0 if memory allocation fails for pa_iova_pfn 2019-07-15 14:16:37 +02:00
vfio_ccw_cp.h vfio-ccw: Refactor how the traces are built 2019-10-17 11:35:56 +02:00
vfio_ccw_drv.c vfio-ccw: fix error return code in vfio_ccw_sch_init() 2019-09-05 15:18:15 +02:00
vfio_ccw_fsm.c vfio-ccw: Rework the io_fctl trace 2019-10-17 11:37:24 +02:00
vfio_ccw_ops.c vfio-ccw: add some logging 2019-08-23 12:53:32 +02:00
vfio_ccw_private.h vfio-ccw: Trace the FSM jumptable 2019-10-17 11:36:29 +02:00
vfio_ccw_trace.c vfio-ccw: Rework the io_fctl trace 2019-10-17 11:37:24 +02:00
vfio_ccw_trace.h vfio-ccw: Rework the io_fctl trace 2019-10-17 11:37:24 +02:00