__from_data16 takes the value pointed to, rather than the pointer
itself. This was silently causing gPXE to return a dud buffer pointer
when the caller did not supply a buffer for PXENV_GET_CACHED_INFO.
*/
get_cached_info->Buffer.segment = rm_ds;
get_cached_info->Buffer.offset =
- ( unsigned ) ( __from_data16 ( info ) );
+ ( unsigned ) ( & __from_data16 ( *info ) );
get_cached_info->BufferSize = sizeof ( *info );
DBG ( " returning %04x:%04x+%04x['%x']",
get_cached_info->Buffer.segment,