`qls_init_rss()` built the RSS indirection table with `rss_icb->cq_id[i] = (i & (ha->num_rx_rings - 1));` which assumes `num_rx_rings` is a power of two. When it is not, the AND mask leaves some completion queues with no entries and skews the hash
rss_icb->cq_id[i] = (i & (ha->num_rx_rings - 1));
which assumes num_rx_rings is a power of two. When it is not, the AND
mask leaves some completion queues with no entries and skews the hash
distribution.
num_rx_rings`MAX_RX_RINGS` is currently hardcoded to MAX_RX_RINGS (1)`1`, so this is
latent today, but use a modulo so the table stays correct if the ring
count is ever raised to a non-power-of-two value. This mirrors the
same fix made in aq(4).
Signed-off-by: Nick Price <nick@spun.io>