The 'sense_buffer' of 'struct scsi_cmnd' is always true, but
resp->sense_len is only set if there is sense available.

Signed-off-by: Ming Lei <ming....@canonical.com>
---
 drivers/scsi/virtio_scsi.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c
index eee1bc0..4d2d3b2 100644
--- a/drivers/scsi/virtio_scsi.c
+++ b/drivers/scsi/virtio_scsi.c
@@ -194,11 +194,10 @@ static void virtscsi_complete_cmd(struct virtio_scsi 
*vscsi, void *buf)
        }
 
        WARN_ON(resp->sense_len > VIRTIO_SCSI_SENSE_SIZE);
-       if (sc->sense_buffer) {
+       if (resp->sense_len) {
                memcpy(sc->sense_buffer, resp->sense,
                       min_t(u32, resp->sense_len, VIRTIO_SCSI_SENSE_SIZE));
-               if (resp->sense_len)
-                       set_driver_byte(sc, DRIVER_SENSE);
+               set_driver_byte(sc, DRIVER_SENSE);
        }
 
        sc->scsi_done(sc);
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to