static int prepare_tx(struct net_device *dev, struct archdr *pkt, int length,
int bufnum);
-
struct ArcProto rawmode_proto =
{
.suffix = 'r',
.rx = rx,
.build_header = build_header,
.prepare_tx = prepare_tx,
+ .continue_tx = NULL,
+ .ack_tx = NULL
};
BUGLVL(D_SKB) arcnet_dump_skb(dev, skb, "rx");
- skb->protocol = 0;
+ skb->protocol = __constant_htons(ETH_P_ARCNET);
+;
netif_rx(skb);
dev->last_rx = jiffies;
}
} else
hard->offset[0] = ofs = 256 - length;
+ BUGMSG(D_DURING, "prepare_tx: length=%d ofs=%d\n",
+ length,ofs);
+
lp->hw.copy_to_card(dev, bufnum, 0, hard, ARC_HDR_SIZE);
lp->hw.copy_to_card(dev, bufnum, ofs, &pkt->soft, length);