Every step ends by calling cmd_finalize (via finalize_and_send)
yet every step adds the token OPAL_ENDLIST on its own. Moving
this into cmd_finalize decreases code duplication.

Co-authored-by: Jonas Rabenstein <jonas.rabenst...@studium.uni-erlangen.de>
Signed-off-by: David Kozub <z...@linux.fjfi.cvut.cz>
Signed-off-by: Jonas Rabenstein <jonas.rabenst...@studium.uni-erlangen.de>
Reviewed-by: Scott Bauer <sba...@plzdonthack.me>
---
 block/sed-opal.c | 25 +++----------------------
 1 file changed, 3 insertions(+), 22 deletions(-)

diff --git a/block/sed-opal.c b/block/sed-opal.c
index 980705681806..35b1747b650f 100644
--- a/block/sed-opal.c
+++ b/block/sed-opal.c
@@ -661,6 +661,9 @@ static int cmd_finalize(struct opal_dev *cmd, u32 hsn, u32 
tsn)
        struct opal_header *hdr;
        int err = 0;
 
+       /* close parameter list */
+       add_token_u8(&err, cmd, OPAL_ENDLIST);
+
        add_token_u8(&err, cmd, OPAL_ENDOFDATA);
        add_token_u8(&err, cmd, OPAL_STARTLIST);
        add_token_u8(&err, cmd, 0);
@@ -1079,7 +1082,6 @@ static int gen_key(struct opal_dev *dev, void *data)
        add_token_bytestring(&err, dev, opalmethod[OPAL_GENKEY],
                             OPAL_UID_LENGTH);
        add_token_u8(&err, dev, OPAL_STARTLIST);
-       add_token_u8(&err, dev, OPAL_ENDLIST);
 
        if (err) {
                pr_debug("Error building gen key command\n");
@@ -1142,7 +1144,6 @@ static int get_active_key(struct opal_dev *dev, void 
*data)
        add_token_u8(&err, dev, 10); /* ActiveKey */
        add_token_u8(&err, dev, OPAL_ENDNAME);
        add_token_u8(&err, dev, OPAL_ENDLIST);
-       add_token_u8(&err, dev, OPAL_ENDLIST);
        if (err) {
                pr_debug("Error building get active key command\n");
                return err;
@@ -1188,7 +1189,6 @@ static int generic_lr_enable_disable(struct opal_dev *dev,
 
        add_token_u8(&err, dev, OPAL_ENDLIST);
        add_token_u8(&err, dev, OPAL_ENDNAME);
-       add_token_u8(&err, dev, OPAL_ENDLIST);
        return err;
 }
 
@@ -1254,8 +1254,6 @@ static int setup_locking_range(struct opal_dev *dev, void 
*data)
 
                add_token_u8(&err, dev, OPAL_ENDLIST);
                add_token_u8(&err, dev, OPAL_ENDNAME);
-               add_token_u8(&err, dev, OPAL_ENDLIST);
-
        }
        if (err) {
                pr_debug("Error building Setup Locking range command.\n");
@@ -1295,7 +1293,6 @@ static int start_generic_opal_session(struct opal_dev 
*dev,
 
        switch (auth) {
        case OPAL_ANYBODY_UID:
-               add_token_u8(&err, dev, OPAL_ENDLIST);
                break;
        case OPAL_ADMIN1_UID:
        case OPAL_SID_UID:
@@ -1308,7 +1305,6 @@ static int start_generic_opal_session(struct opal_dev 
*dev,
                add_token_bytestring(&err, dev, opaluid[auth],
                                     OPAL_UID_LENGTH);
                add_token_u8(&err, dev, OPAL_ENDNAME);
-               add_token_u8(&err, dev, OPAL_ENDLIST);
                break;
        default:
                pr_debug("Cannot start Admin SP session with auth %d\n", auth);
@@ -1406,7 +1402,6 @@ static int start_auth_opal_session(struct opal_dev *dev, 
void *data)
        add_token_u8(&err, dev, 3);
        add_token_bytestring(&err, dev, lk_ul_user, OPAL_UID_LENGTH);
        add_token_u8(&err, dev, OPAL_ENDNAME);
-       add_token_u8(&err, dev, OPAL_ENDLIST);
 
        if (err) {
                pr_debug("Error building STARTSESSION command.\n");
@@ -1429,7 +1424,6 @@ static int revert_tper(struct opal_dev *dev, void *data)
        add_token_bytestring(&err, dev, opalmethod[OPAL_REVERT],
                             OPAL_UID_LENGTH);
        add_token_u8(&err, dev, OPAL_STARTLIST);
-       add_token_u8(&err, dev, OPAL_ENDLIST);
        if (err) {
                pr_debug("Error building REVERT TPER command.\n");
                return err;
@@ -1463,7 +1457,6 @@ static int internal_activate_user(struct opal_dev *dev, 
void *data)
        add_token_u8(&err, dev, OPAL_ENDNAME);
        add_token_u8(&err, dev, OPAL_ENDLIST);
        add_token_u8(&err, dev, OPAL_ENDNAME);
-       add_token_u8(&err, dev, OPAL_ENDLIST);
 
        if (err) {
                pr_debug("Error building Activate UserN command.\n");
@@ -1490,7 +1483,6 @@ static int erase_locking_range(struct opal_dev *dev, void 
*data)
        add_token_bytestring(&err, dev, opalmethod[OPAL_ERASE],
                             OPAL_UID_LENGTH);
        add_token_u8(&err, dev, OPAL_STARTLIST);
-       add_token_u8(&err, dev, OPAL_ENDLIST);
 
        if (err) {
                pr_debug("Error building Erase Locking Range Command.\n");
@@ -1521,7 +1513,6 @@ static int set_mbr_done(struct opal_dev *dev, void *data)
        add_token_u8(&err, dev, OPAL_ENDNAME);
        add_token_u8(&err, dev, OPAL_ENDLIST);
        add_token_u8(&err, dev, OPAL_ENDNAME);
-       add_token_u8(&err, dev, OPAL_ENDLIST);
 
        if (err) {
                pr_debug("Error Building set MBR Done command\n");
@@ -1553,7 +1544,6 @@ static int set_mbr_enable_disable(struct opal_dev *dev, 
void *data)
        add_token_u8(&err, dev, OPAL_ENDNAME);
        add_token_u8(&err, dev, OPAL_ENDLIST);
        add_token_u8(&err, dev, OPAL_ENDNAME);
-       add_token_u8(&err, dev, OPAL_ENDLIST);
 
        if (err) {
                pr_debug("Error Building set MBR done command\n");
@@ -1585,7 +1575,6 @@ static int generic_pw_cmd(u8 *key, size_t key_len, u8 
*cpin_uid,
        add_token_u8(&err, dev, OPAL_ENDNAME);
        add_token_u8(&err, dev, OPAL_ENDLIST);
        add_token_u8(&err, dev, OPAL_ENDNAME);
-       add_token_u8(&err, dev, OPAL_ENDLIST);
 
        return err;
 }
@@ -1694,7 +1683,6 @@ static int add_user_to_lr(struct opal_dev *dev, void 
*data)
        add_token_u8(&err, dev, OPAL_ENDNAME);
        add_token_u8(&err, dev, OPAL_ENDLIST);
        add_token_u8(&err, dev, OPAL_ENDNAME);
-       add_token_u8(&err, dev, OPAL_ENDLIST);
 
        if (err) {
                pr_debug("Error building add user to locking range command.\n");
@@ -1755,7 +1743,6 @@ static int lock_unlock_locking_range(struct opal_dev 
*dev, void *data)
 
        add_token_u8(&err, dev, OPAL_ENDLIST);
        add_token_u8(&err, dev, OPAL_ENDNAME);
-       add_token_u8(&err, dev, OPAL_ENDLIST);
 
        if (err) {
                pr_debug("Error building SET command.\n");
@@ -1843,11 +1830,8 @@ static int activate_lsp(struct opal_dev *dev, void *data)
                }
                add_token_u8(&err, dev, OPAL_ENDLIST);
                add_token_u8(&err, dev, OPAL_ENDNAME);
-               add_token_u8(&err, dev, OPAL_ENDLIST);
-
        } else {
                add_token_u8(&err, dev, OPAL_STARTLIST);
-               add_token_u8(&err, dev, OPAL_ENDLIST);
        }
 
        if (err) {
@@ -1904,7 +1888,6 @@ static int get_lsp_lifecycle(struct opal_dev *dev, void 
*data)
        add_token_u8(&err, dev, 6); /* Lifecycle Column */
        add_token_u8(&err, dev, OPAL_ENDNAME);
 
-       add_token_u8(&err, dev, OPAL_ENDLIST);
        add_token_u8(&err, dev, OPAL_ENDLIST);
 
        if (err) {
@@ -1964,8 +1947,6 @@ static int get_msid_cpin_pin(struct opal_dev *dev, void 
*data)
        add_token_u8(&err, dev, 4); /* End Column */
        add_token_u8(&err, dev, 3); /* Lifecycle Column */
        add_token_u8(&err, dev, OPAL_ENDNAME);
-
-       add_token_u8(&err, dev, OPAL_ENDLIST);
        add_token_u8(&err, dev, OPAL_ENDLIST);
 
        if (err) {
-- 
2.20.1

Reply via email to