Commit d00d6d00 authored by Mark Cave-Ayland's avatar Mark Cave-Ayland Committed by Jason Wang
Browse files

eepro100: use inline net_crc32() and bitshift instead of compute_mcast_idx()



This makes it much easier to compare the multicast CRC calculation endian and
bitshift against the Linux driver implementation.

Signed-off-by: default avatarMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
parent 8f90bc2f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1679,7 +1679,7 @@ static ssize_t nic_receive(NetClientState *nc, const uint8_t * buf, size_t size)
        rfd_status |= 0x0004;
    } else if (s->configuration[20] & BIT(6)) {
        /* Multiple IA bit set. */
        unsigned mcast_idx = compute_mcast_idx(buf);
        unsigned mcast_idx = net_crc32(buf, ETH_ALEN) >> 26;
        assert(mcast_idx < 64);
        if (s->mult[mcast_idx >> 3] & (1 << (mcast_idx & 7))) {
            TRACE(RXTX, logout("%p accepted, multiple IA bit set\n", s));