mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 10:09:10 +02:00
igc: skip RX timestamp header for frame preemption verification
When RX hardware timestamping is enabled, a 16-byte inline timestamp header
is added to the start of the packet buffer, causing FPE handshake
verification to fail.
Because an incorrect packet buffer is passed to igc_fpe_handle_mpacket(),
the mem_is_zero() check inspects the timestamp metadata instead of the
actual mPacket payload. As a result, valid Verify/Response mPackets can be
missed when inline RX timestamps are present.
Pass pktbuf + pkt_offset to igc_fpe_handle_mpacket() so it inspects the
actual mPacket payload instead of the timestamp header.
Fixes: 5422570c00 ("igc: add support for frame preemption verification")
Co-developed-by: Faizal Rahim <faizal.abdul.rahim@linux.intel.com>
Signed-off-by: Faizal Rahim <faizal.abdul.rahim@linux.intel.com>
Signed-off-by: KhaiWenTan <khai.wen.tan@linux.intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
parent
7bd4355272
commit
38b7a274cf
|
|
@ -2649,7 +2649,7 @@ static int igc_clean_rx_irq(struct igc_q_vector *q_vector, const int budget)
|
|||
}
|
||||
|
||||
if (igc_fpe_is_pmac_enabled(adapter) &&
|
||||
igc_fpe_handle_mpacket(adapter, rx_desc, size, pktbuf)) {
|
||||
igc_fpe_handle_mpacket(adapter, rx_desc, size, pktbuf + pkt_offset)) {
|
||||
/* Advance the ring next-to-clean */
|
||||
igc_is_non_eop(rx_ring, rx_desc);
|
||||
cleaned_count++;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user