scsi: core: Fix the scsi_set_resid() documentation

commit f669b8a683e4ee26fa5cafe19d71cec1786b556a upstream.

Because scsi_finish_command() subtracts the residual from the buffer
length, residual overflows must not be reported. Reflect this in the SCSI
documentation. See also commit 9237f04e12 ("scsi: core: Fix
scsi_get/set_resid() interface")

Cc: Damien Le Moal <dlemoal@kernel.org>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Douglas Gilbert <dgilbert@interlog.com>
Cc: stable@vger.kernel.org
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20230721160154.874010-2-bvanassche@acm.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Bart Van Assche 2023-07-21 09:01:32 -07:00 committed by Greg Kroah-Hartman
parent 8c90c4e619
commit 5d27baee6c

View File

@ -1195,11 +1195,11 @@ Members of interest:
- pointer to scsi_device object that this command is - pointer to scsi_device object that this command is
associated with. associated with.
resid resid
- an LLD should set this signed integer to the requested - an LLD should set this unsigned integer to the requested
transfer length (i.e. 'request_bufflen') less the number transfer length (i.e. 'request_bufflen') less the number
of bytes that are actually transferred. 'resid' is of bytes that are actually transferred. 'resid' is
preset to 0 so an LLD can ignore it if it cannot detect preset to 0 so an LLD can ignore it if it cannot detect
underruns (overruns should be rare). If possible an LLD underruns (overruns should not be reported). An LLD
should set 'resid' prior to invoking 'done'. The most should set 'resid' prior to invoking 'done'. The most
interesting case is data transfers from a SCSI target interesting case is data transfers from a SCSI target
device (e.g. READs) that underrun. device (e.g. READs) that underrun.