sfxge(4): add missing barrier in common code MCDI response handling

The semantics of the MCDI interfacve require reading the first
dword of the header before any other data in the buffer. Add
a barrier to the common code MCDI handler to enforce this.

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Reviewed by:    gnn
Sponsored by:   Solarflare Communications, Inc.
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D8949
This commit is contained in:
arybchik 2016-12-29 06:58:51 +00:00
parent 5e5f9c13ae
commit 7e402c3708

View File

@ -159,6 +159,8 @@ ef10_mcdi_poll_response(
efx_dword_t hdr;
EFSYS_MEM_READD(esmp, 0, &hdr);
EFSYS_MEM_READ_BARRIER();
return (EFX_DWORD_FIELD(hdr, MCDI_HEADER_RESPONSE) ? B_TRUE : B_FALSE);
}