Revision e3f5ec2b hw/pcnet.c

b/hw/pcnet.c
1062 1062
    return !!(CSR_CXST(s) & 0x8000);
1063 1063
}
1064 1064

  
1065
static int pcnet_can_receive(void *opaque)
1065
static int pcnet_can_receive(VLANClientState *vc)
1066 1066
{
1067
    PCNetState *s = opaque;
1067
    PCNetState *s = vc->opaque;
1068 1068
    if (CSR_STOP(s) || CSR_SPND(s))
1069 1069
        return 0;
1070 1070

  
......
1076 1076

  
1077 1077
#define MIN_BUF_SIZE 60
1078 1078

  
1079
static void pcnet_receive(void *opaque, const uint8_t *buf, size_t size)
1079
static void pcnet_receive(VLANClientState *vc, const uint8_t *buf, size_t size)
1080 1080
{
1081
    PCNetState *s = opaque;
1081
    PCNetState *s = vc->opaque;
1082 1082
    int is_padr = 0, is_bcast = 0, is_ladr = 0;
1083 1083
    uint8_t buf1[60];
1084 1084
    int remaining;
......
1302 1302
                if (BCR_SWSTYLE(s) == 1)
1303 1303
                    add_crc = !GET_FIELD(tmd.status, TMDS, NOFCS);
1304 1304
                s->looptest = add_crc ? PCNET_LOOPTEST_CRC : PCNET_LOOPTEST_NOCRC;
1305
                pcnet_receive(s, s->buffer, s->xmit_pos);
1305
                pcnet_receive(s->vc, s->buffer, s->xmit_pos);
1306 1306
                s->looptest = 0;
1307 1307
            } else
1308 1308
                if (s->vc)

Also available in: Unified diff