From: Douglas Gilbert <dgilb...@interlog.com>

[ Upstream commit e33d7c56450b0a5c7290cbf9e1581fab5174f552 ]

The scsi_debug driver incorrectly suggests there is an error with the
SCSI WRITE SAME command when the number_of_logical_blocks is greater
than 1. It will also suggest there is an error when NDOB
(no data-out buffer) is set and the number_of_logical_blocks is
greater than 0. Both are valid, fix.

Signed-off-by: Douglas Gilbert <dgilb...@interlog.com>
Signed-off-by: Martin K. Petersen <martin.peter...@oracle.com>
Signed-off-by: Sasha Levin <alexander.le...@verizon.com>
---
 drivers/scsi/scsi_debug.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
index 09ba494f8896..92bc5b2d24ae 100644
--- a/drivers/scsi/scsi_debug.c
+++ b/drivers/scsi/scsi_debug.c
@@ -3001,11 +3001,11 @@ static int resp_write_same(struct scsi_cmnd *scp, u64 
lba, u32 num,
        if (-1 == ret) {
                write_unlock_irqrestore(&atomic_rw, iflags);
                return DID_ERROR << 16;
-       } else if (sdebug_verbose && (ret < (num * sdebug_sector_size)))
+       } else if (sdebug_verbose && !ndob && (ret < sdebug_sector_size))
                sdev_printk(KERN_INFO, scp->device,
-                           "%s: %s: cdb indicated=%u, IO sent=%d bytes\n",
+                           "%s: %s: lb size=%u, IO sent=%d bytes\n",
                            my_name, "write same",
-                           num * sdebug_sector_size, ret);
+                           sdebug_sector_size, ret);
 
        /* Copy first sector to remaining blocks */
        for (i = 1 ; i < num ; i++)
-- 
2.11.0

Reply via email to