• Dan Williams's avatar
    async_tx: fix handling of the "out of descriptor" condition in async_xor · 669ab0b2
    Dan Williams authored
    Ensure forward progress is made when a dmaengine driver is unable to
    allocate an xor descriptor by breaking the dependency chain with
    async_tx_quisce() and issue any pending descriptors.
    
    Tested with iop-adma by setting device->max_xor = 2 to force multiple
    calls to device_prep_dma_xor for each call to async_xor and limiting the
    descriptor slot pool to 5.  Discovered that the minimum descriptor pool
    size for iop-adma is 2 * iop_chan_xor_slot_cnt(device->max_xor) + 1.
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    669ab0b2
async_xor.c 10.4 KB