4d4cd7e3c8
The various ptp_clock_driver_api methods receive a struct ptp_context not a struct eth_context, and the later must be obtained from a reference stored in the former. Failing to do so by directly interpreting driver_data as a struct eth_context instance does end up corrupting memory past the actual struct ptp_context storage. The test may still pass as ptp_clock_get() reads from the same out-of-bounds memory as the previous ptp_clock_set() and therefore the content matches, and with luck the corrupted memory is not essential to the completion of the test. But that wasn't my case which allowed me to find this issue. Fix this by properly obtaining a reference to the struct eth_context instance via the actual struct ptp_context, and adding a test like the one found in eth_tx() to make sure we got the right memory. Signed-off-by: Nicolas Pitre <npitre@baylibre.com> |
||
---|---|---|
.. | ||
clock |