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:
Andrew Rybchenko 2016-12-29 06:58:51 +00:00
parent b5a8496927
commit d5a0c7e00a

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);
}