nvme/opal: use the return value as the maximum ranges

Change-Id: Ifa7ce53cfbfa614defec1faa1c38f3f8105d2c74
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1666
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Changpeng Liu 2020-04-03 17:43:58 +08:00 committed by Tomasz Zawadzki
parent 76d8bbf3f8
commit 2b5c47b198

View File

@ -1384,7 +1384,7 @@ opal_setup_locking_range(struct spdk_opal_dev *dev, struct opal_session *sess,
} }
static int static int
opal_get_max_ranges_done(struct opal_session *sess, uint8_t *max_ranges) opal_get_max_ranges_done(struct opal_session *sess)
{ {
int error = 0; int error = 0;
@ -1393,13 +1393,12 @@ opal_get_max_ranges_done(struct opal_session *sess, uint8_t *max_ranges)
return error; return error;
} }
*max_ranges = opal_response_get_u16(&sess->parsed_resp, 4); /* "MaxRanges" is token 4 of response */ /* "MaxRanges" is token 4 of response */
return opal_response_get_u16(&sess->parsed_resp, 4);
return 0;
} }
static int static int
opal_get_max_ranges(struct spdk_opal_dev *dev, struct opal_session *sess, uint8_t *max_ranges) opal_get_max_ranges(struct spdk_opal_dev *dev, struct opal_session *sess)
{ {
int err = 0; int err = 0;
int ret; int ret;
@ -1440,7 +1439,7 @@ opal_get_max_ranges(struct spdk_opal_dev *dev, struct opal_session *sess, uint8_
return ret; return ret;
} }
return opal_get_max_ranges_done(sess, max_ranges); return opal_get_max_ranges_done(sess);
} }
static int static int
@ -2211,7 +2210,6 @@ spdk_opal_cmd_get_max_ranges(struct spdk_opal_dev *dev, const char *passwd)
struct opal_session *sess; struct opal_session *sess;
struct spdk_opal_key opal_key = {}; struct spdk_opal_key opal_key = {};
int ret; int ret;
uint8_t *max_ranges = &dev->max_ranges;
if (dev->supported == false) { if (dev->supported == false) {
return -ENOTSUP; return -ENOTSUP;
@ -2240,12 +2238,12 @@ spdk_opal_cmd_get_max_ranges(struct spdk_opal_dev *dev, const char *passwd)
return ret; return ret;
} }
ret = opal_get_max_ranges(dev, sess, max_ranges); ret = opal_get_max_ranges(dev, sess);
if (ret) { if (ret > 0) {
SPDK_ERRLOG("get max ranges error %d\n", ret); dev->max_ranges = ret;
} }
ret += opal_end_session(dev, sess, dev->comid); ret = opal_end_session(dev, sess, dev->comid);
if (ret) { if (ret) {
SPDK_ERRLOG("end session error %d\n", ret); SPDK_ERRLOG("end session error %d\n", ret);
} }