mirror of
https://github.com/torvalds/linux.git
synced 2026-08-21 06:53:11 +02:00
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> |
||
|---|---|---|
| .. | ||
| airq.c | ||
| blacklist.c | ||
| blacklist.h | ||
| ccwgroup.c | ||
| ccwreq.c | ||
| chp.c | ||
| chp.h | ||
| chsc_sch.c | ||
| chsc_sch.h | ||
| chsc.c | ||
| chsc.h | ||
| cio_debug.h | ||
| cio.c | ||
| cio.h | ||
| cmf.c | ||
| crw.c | ||
| css.c | ||
| css.h | ||
| device_fsm.c | ||
| device_id.c | ||
| device_ops.c | ||
| device_pgid.c | ||
| device_status.c | ||
| device.c | ||
| device.h | ||
| eadm_sch.c | ||
| eadm_sch.h | ||
| fcx.c | ||
| idset.c | ||
| idset.h | ||
| io_sch.h | ||
| ioasm.c | ||
| ioasm.h | ||
| isc.c | ||
| itcw.c | ||
| Makefile | ||
| orb.h | ||
| qdio_debug.c | ||
| qdio_debug.h | ||
| qdio_main.c | ||
| qdio_setup.c | ||
| qdio_thinint.c | ||
| qdio.h | ||
| scm.c | ||
| trace.c | ||
| trace.h | ||
| vfio_ccw_async.c | ||
| vfio_ccw_cp.c | ||
| vfio_ccw_cp.h | ||
| vfio_ccw_drv.c | ||
| vfio_ccw_fsm.c | ||
| vfio_ccw_ops.c | ||
| vfio_ccw_private.h | ||
| vfio_ccw_trace.c | ||
| vfio_ccw_trace.h | ||