HomeFreeBSD

ccr: Set the RX channel ID correctly in work requests.

Description

ccr: Set the RX channel ID correctly in work requests.

These fixes are only relevant for requests on the second port. In
some cases, the crypto completion data, completion message, and
receive descriptor could be written in the wrong order.

  • Add a separate rx_channel_id that is a copy of the port's rx_c_chan and use it when an RX channel ID is required in crypto requests instead of using the tx_channel_id.
  • Set the correct rx_channel_id in the CPL_RX_PHYS_ADDR used to write the crypto result.
  • Set the FID to the first rx queue ID on the adapter rather than the queue ID of the first rx queue for the port.
  • While here, use tx_chan to set the tx_channel_id though this is identical to the previous value.

Reviewed by: np
Reported by: Chelsio QA
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D29175

Details

Provenance
jhbAuthored on Mar 12 2021, 6:35 PM
Reviewer
np
Differential Revision
D29175: ccr: Set the RX channel ID correctly in work requests.
Parents
rG05eac56a0432: lib/msun: Fix x86 GCC6 build after 221622ec0c8e184
Branches
Unknown
Tags
Unknown