- static int
- dm9000_start_xmit(struct sk_buff *skb, struct net_device *dev)
- {
- unsigned long flags;
- board_info_t *db = netdev_priv(dev);
- int save_mwr, check_mwr, calc_mwr;
-
- //通知协议栈暂停想去动传送数据
- netif_stop_queue(dev);
-
- //将skb中的数据写入网卡寄存器
- iow(db, DM9000_TXPLL, skb->len);
- iow(db, DM9000_TXPLH, (skb->len>>8));
-
- writeb(DM9000_MWCMD, db->io_addr);
- (db->outblk)(db->io_data, skb->data, skb->len);
-
- iow(db, DM9000_TCR, TCR_TXREQ);
-
- //释放skb
- dev_kfree_skb(skb);
-
- return 0;
- }
DM9000数据发送编程:
转载于:https://www.cnblogs.com/ch122633/p/7363301.html