From: Damien Le Moal Date: Thu, 31 May 2018 08:42:40 +0000 (+0900) Subject: scsi: sd_zbc: Fix sd_zbc_check_zone_size() error path X-Git-Tag: v5.15~8602^2~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3aadbe2523cab462da24c62d9cac5e018a6e69d5;p=platform%2Fkernel%2Flinux-starfive.git scsi: sd_zbc: Fix sd_zbc_check_zone_size() error path If a drive with variable zone sizes or an invalid last zone size is detected, the local variable this_zone_blocks is set to 0 and early return from the function triggered, but this does not result in an error return. The local variable zone_blocks must be set to 0 for an error to be returned. [mkp: typo in commit description] Fixes: ccce20fc7968 ("scsi: sd_zbc: Avoid that resetting a zone fails sporadically") Signed-off-by: Damien Le Moal Cc: Bart Van Assche Reviewed-by: Bart Van Assche Signed-off-by: Martin K. Petersen --- diff --git a/drivers/scsi/sd_zbc.c b/drivers/scsi/sd_zbc.c index 210407c..ff1ba99 100644 --- a/drivers/scsi/sd_zbc.c +++ b/drivers/scsi/sd_zbc.c @@ -452,7 +452,7 @@ static s64 sd_zbc_check_zone_size(struct scsi_disk *sdkp) } else if (this_zone_blocks != zone_blocks && (block + this_zone_blocks < sdkp->capacity || this_zone_blocks > zone_blocks)) { - this_zone_blocks = 0; + zone_blocks = 0; goto out; } block += this_zone_blocks;