This patch series contains various code cleanup and fixes for Opal SED support. It's been created by taking a part of the original patch series by Jonas and me (PATCHv4 block: sed-opal: support shadow MBR done flag and write) [1], as suggested by Christoph in [2]. The most important patch is the first one where I tried to fix the shadow MBR enable/disable issue we discussed in [3]. This change goes against Christoph's original propsal in [4] but I think - in light of the issue and keeping in mind the planned addition of an IOCTL specifically for toggling the done flag - that passing just OPAL_TRUE or OPAL_FALSE to set_mbr_done and set_mbr_enable_disable is more useful and also more understandable. Maybe this change is superfluous if Scott found the time to submit his take on the fix. (?) I tried to include all the feedback from the v4 review[1]. I also added some more trivial changes (11/16 as suggested in [4]) and also 13/16 motivated by the same idea - that's why I again reached the magical number of 16 patches. I kept the reviewed-by/acked-by tags where the changes were trivial but I removed them where I thought a re-review would be useful. I plan to submit the remaining patches from the original series (these that add new Opal IOCTLs) after this fix and cleanup is accepted. I did a brief test toggling shadow MBR and unlocking a locking range. I will try to do more thorough tests - but I will not get to it before the beginning of the next week. It would be great if this could get some more testing. Especially the unlock from suspend part - that's something I don't have set up and I have not tested. The series applies on v5.0-rc6. [1] https://lore.kernel.org/lkml/1549054223-12220-1-git-send-email-zub@xxxxxxxxxxxxxxxxxx/ [2] https://lore.kernel.org/lkml/20190204150415.GO31132@xxxxxxxxxxxxx/ [3] https://lore.kernel.org/lkml/alpine.LRH.2.21.1902072247060.29258@xxxxxxxxxxxxxxxxxx/ [4] https://lore.kernel.org/lkml/20190204145244.GJ31132@xxxxxxxxxxxxx/ David Kozub (12): block: sed-opal: fix IOC_OPAL_ENABLE_DISABLE_MBR block: sed-opal: fix typos and formatting block: sed-opal: close parameter list in cmd_finalize block: sed-opal: unify cmd start block: sed-opal: unify error handling of responses block: sed-opal: reuse response_get_token to decrease code duplication block: sed-opal: add token for OPAL_LIFECYCLE block: sed-opal: unify retrieval of table columns block: sed-opal: use named Opal tokens instead of integer literals block: sed-opal: pass steps via argument rather than via opal_dev block: sed-opal: don't repeat opal_discovery0 in each steps array block: sed-opal: rename next to execute_steps Jonas Rabenstein (4): block: sed-opal: use correct macro for method length block: sed-opal: unify space check in add_token_* block: sed-opal: print failed function address block: sed-opal: split generation of bytestring header and content block/opal_proto.h | 2 + block/sed-opal.c | 716 ++++++++++++++-------------------- include/uapi/linux/sed-opal.h | 2 +- 3 files changed, 287 insertions(+), 433 deletions(-) -- 2.20.1