Comment 0 for bug 1801686

Revision history for this message
bugproxy (bugproxy) wrote :

Description: qdio: reset old sbal_state flags

Symptom: af_iucv socket using HiperSockets may stall.

Problem: 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.

Solution: Unconditionally clear the buffer's flags field.

Reproduction: Error inject, simulating out-of-memory.

kernel 4.20
Upstream-ID: 64e03ff72623b8c2ea89ca3cb660094e019ed4ae

Canonical , please provide this fix for all Releases in Service....
Ubuntu 18.10, 18.04 and 16.04