Skip to content

Commit 436fa8e

Browse files
alobakinkuba-moo
authored andcommitted
ice: fix broken Rx on VFs
Since the tagged commit, ice stopped respecting Rx buffer length passed from VFs. At that point, the buffer length was hardcoded in ice, so VFs still worked up to some point (until, for example, a VF wanted an MTU larger than its PF). The next commit 93f53db ("ice: switch to Page Pool"), broke Rx on VFs completely since ice started accounting per-queue buffer lengths again, but now VF queues always had their length zeroed, as ice was already ignoring what iavf was passing to it. Restore the line that initializes the buffer length on VF queues basing on the virtchnl messages. Fixes: 3a4f419 ("ice: drop page splitting and recycling") Reported-by: Jakub Slepecki <jakub.slepecki@intel.com> Reviewed-by: Tony Nguyen <anthony.l.nguyen@intel.com> Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com> Tested-by: Jakub Slepecki <jakub.slepecki@intel.com> Link: https://patch.msgid.link/20251124170735.3077425-1-aleksander.lobakin@intel.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent d696c73 commit 436fa8e

File tree

1 file changed

+3
-0
lines changed
  • drivers/net/ethernet/intel/ice/virt

1 file changed

+3
-0
lines changed

drivers/net/ethernet/intel/ice/virt/queues.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -842,6 +842,9 @@ int ice_vc_cfg_qs_msg(struct ice_vf *vf, u8 *msg)
842842
(qpi->rxq.databuffer_size > ((16 * 1024) - 128) ||
843843
qpi->rxq.databuffer_size < 1024))
844844
goto error_param;
845+
846+
ring->rx_buf_len = qpi->rxq.databuffer_size;
847+
845848
if (qpi->rxq.max_pkt_size > max_frame_size ||
846849
qpi->rxq.max_pkt_size < 64)
847850
goto error_param;

0 commit comments

Comments
 (0)