• J
    s390/qdio: reset old sbal_state flags · 64e03ff7
    Julian Wiedmann 提交于
    When allocating a new AOB fails, handle_outbound() is still capable of
    transmitting the selected buffer (just without async completion).
    
    But if a previous transfer on this queue slot used async completion, its
    sbal_state flags field is still set to QDIO_OUTBUF_STATE_FLAG_PENDING.
    So when the upper layer driver sees this stale flag, it expects an async
    completion that never happens.
    
    Fix this by unconditionally clearing the flags field.
    
    Fixes: 104ea556 ("qdio: support asynchronous delivery of storage blocks")
    Cc: <stable@vger.kernel.org> #v3.2+
    Signed-off-by: NJulian Wiedmann <jwi@linux.ibm.com>
    Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
    64e03ff7
qdio.h 11.7 KB