RX_START
priv->rx.state = RX_START;
case RX_START:
lp->scb.command = CUC_START | RX_START;
ack_cmd |= RX_START;
lp->scb.command = RX_START;
ack_cmd |= RX_START;
dma->scb.command = SWAP16(RX_START);
lp->dma->scb.command = SWAP16(CUC_START | RX_START);
ether3_setbuffer(dev, buffer_write, RX_START);
ether3_writebuffer(dev, buffer + RX_START, RX_LEN);
ether3_setbuffer(dev, buffer_read, RX_START);
ether3_readbuffer(dev, buffer + RX_START, RX_LEN);
priv(dev)->rx_head = RX_START;
if (next_ptr < RX_START || next_ptr >= RX_END) {
length += RX_END - RX_START;
#define RX(off) ((void *)(RX_START + off))
msg = &info->msg[RX_START];
msg->s_msg.header.cmd = RX_START;