• Ben Hutchings's avatar
    sfc: Avoid generating over-length MC_CMD_FLUSH_RX_QUEUES request · 45078374
    Ben Hutchings authored
    MCDI supports requests up to 252 bytes long, which is only enough to
    pass 63 RX queue IDs to MC_CMD_FLUSH_RX_QUEUES.  However a VF may have
    up to 64 RX queues, and if we try to flush them all we will generate
    an over-length request and BUG() in efx_mcdi_copyin().  Currently
    all VF drivers limit themselves to 32 RX queues, so reducing the
    limit to 63 does no harm.
    
    Also add a BUILD_BUG_ON in efx_mcdi_flush_rxqs() so we remember to
    deal with the same problem there if EFX_MAX_CHANNELS is increased.
    Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
    45078374
mcdi.c 31.6 KB