Looks good, Reviewed-by: Johannes Thumshirn <johannes.thumshirn@xxxxxxx> Two minior nits below: > + result = scsi_vpd_inquiry(sdev, vpd_header, page, sizeof(vpd_header)); > + > + if (result < 0) > + return 0; can we remove the empty line? > + memset(buf, 0, buf_len); > + result = scsi_vpd_inquiry(sdev, buf, page, vpd_len); > if (result < 0) > - goto fail; > + return -EINVAL; > + else if (result > vpd_len) { > + dev_warn_once(&sdev->sdev_gendev, > + "%s: VPD page 0x%02x result %d > %d bytes\n", > + __func__, page, result, vpd_len); > + vpd_len = min(result, buf_len); > + goto retry_pg; > + } > Adding {} to the if block as well makes it look nicer IMHO