• Uma Krishnan's avatar
    cxlflash: Reorder user context initialization · 5d1952ac
    Uma Krishnan authored
    In order to support cxlflash in the PowerVM environment, underlying
    hypervisor APIs have imposed a kernel API ordering change.
    
    For the superpipe access to LUN, user applications need a context.
    The cxlflash module creates this context by making a sequence of
    cxl calls. In the current code, a context is initialized via
    cxl_dev_context_init() followed by cxl_process_element(), a function
    that obtains the process element id. Finally, cxl_start_work()
    is called to attach the process element.
    
    In the PowerVM environment, a process element id cannot be obtained
    from the hypervisor until the process element is attached. The
    cxlflash module is unable to create contexts without a valid
    process element id.
    
    To fix this problem, cxl_start_work() is called before obtaining
    the process element id.
    Signed-off-by: default avatarUma Krishnan <ukrishn@linux.vnet.ibm.com>
    Acked-by: default avatarMatthew R. Ochs <mrochs@linux.vnet.ibm.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    5d1952ac
superpipe.c 59.7 KB