git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
net
/
arcnet
/
arc-rawmode.c
diff --git
a/drivers/net/arcnet/arc-rawmode.c
b/drivers/net/arcnet/arc-rawmode.c
index
222caa4
..
e7555d4
100644
(file)
--- a/
drivers/net/arcnet/arc-rawmode.c
+++ b/
drivers/net/arcnet/arc-rawmode.c
@@
-42,14
+42,15
@@
static int build_header(struct sk_buff *skb, struct net_device *dev,
static int prepare_tx(struct net_device *dev, struct archdr *pkt, int length,
int bufnum);
static int prepare_tx(struct net_device *dev, struct archdr *pkt, int length,
int bufnum);
-
-struct ArcProto rawmode_proto =
+static struct ArcProto rawmode_proto =
{
.suffix = 'r',
.mtu = XMTU,
.rx = rx,
.build_header = build_header,
.prepare_tx = prepare_tx,
{
.suffix = 'r',
.mtu = XMTU,
.rx = rx,
.build_header = build_header,
.prepare_tx = prepare_tx,
+ .continue_tx = NULL,
+ .ack_tx = NULL
};
};
@@
-86,7
+87,7
@@
MODULE_LICENSE("GPL");
static void rx(struct net_device *dev, int bufnum,
struct archdr *pkthdr, int length)
{
static void rx(struct net_device *dev, int bufnum,
struct archdr *pkthdr, int length)
{
- struct arcnet_local *lp =
(struct arcnet_local *)
dev->priv;
+ struct arcnet_local *lp = dev->priv;
struct sk_buff *skb;
struct archdr *pkt = pkthdr;
int ofs;
struct sk_buff *skb;
struct archdr *pkt = pkthdr;
int ofs;
@@
-121,7
+122,8
@@
static void rx(struct net_device *dev, int bufnum,
BUGLVL(D_SKB) arcnet_dump_skb(dev, skb, "rx");
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;
}
netif_rx(skb);
dev->last_rx = jiffies;
}
@@
-166,7
+168,7
@@
static int build_header(struct sk_buff *skb, struct net_device *dev,
static int prepare_tx(struct net_device *dev, struct archdr *pkt, int length,
int bufnum)
{
static int prepare_tx(struct net_device *dev, struct archdr *pkt, int length,
int bufnum)
{
- struct arcnet_local *lp =
(struct arcnet_local *)
dev->priv;
+ struct arcnet_local *lp = dev->priv;
struct arc_hardware *hard = &pkt->hard;
int ofs;
struct arc_hardware *hard = &pkt->hard;
int ofs;
@@
-190,6
+192,9
@@
static int prepare_tx(struct net_device *dev, struct archdr *pkt, int length,
} else
hard->offset[0] = ofs = 256 - length;
} 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);
lp->hw.copy_to_card(dev, bufnum, 0, hard, ARC_HDR_SIZE);
lp->hw.copy_to_card(dev, bufnum, ofs, &pkt->soft, length);