summaryrefslogtreecommitdiffstats
path: root/net/econet
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-03-19 01:28:40 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-03-19 01:28:40 +0000
commit8abb719409c9060a7c0676f76e9182c1e0b8ca46 (patch)
treeb88cc5a6cd513a04a512b7e6215c873c90a1c5dd /net/econet
parentf01bd7aeafd95a08aafc9e3636bb26974df69d82 (diff)
Merge with 2.3.99-pre1.
Diffstat (limited to 'net/econet')
-rw-r--r--net/econet/af_econet.c50
1 files changed, 26 insertions, 24 deletions
diff --git a/net/econet/af_econet.c b/net/econet/af_econet.c
index 091155076..a22098207 100644
--- a/net/econet/af_econet.c
+++ b/net/econet/af_econet.c
@@ -51,12 +51,13 @@ static struct sock *econet_sklist;
how you count) it makes sense to use a simple lookup table. */
static struct net_device *net2dev_map[256];
+#define EC_PORT_IP 0xd2
+
#ifdef CONFIG_ECONET_AUNUDP
static spinlock_t aun_queue_lock;
static struct socket *udpsock;
#define AUN_PORT 0x8000
-#define EC_PORT_IP 0xd2
struct aunhdr
{
@@ -750,6 +751,28 @@ struct sock *ec_listening_socket(unsigned char port, unsigned char
return NULL;
}
+/*
+ * Queue a received packet for a socket.
+ */
+
+static int ec_queue_packet(struct sock *sk, struct sk_buff *skb,
+ unsigned char stn, unsigned char net,
+ unsigned char cb, unsigned char port)
+{
+ struct ec_cb *eb = (struct ec_cb *)&skb->cb;
+ struct sockaddr_ec *sec = (struct sockaddr_ec *)&eb->sec;
+
+ memset(sec, 0, sizeof(struct sockaddr_ec));
+ sec->sec_family = AF_ECONET;
+ sec->type = ECTYPE_PACKET_RECEIVED;
+ sec->port = port;
+ sec->cb = cb;
+ sec->addr.net = net;
+ sec->addr.station = stn;
+
+ return sock_queue_rcv_skb(sk, skb);
+}
+
#ifdef CONFIG_ECONET_AUNUDP
/*
@@ -792,27 +815,6 @@ static void aun_send_response(__u32 addr, unsigned long seq, int code, int cb)
set_fs(oldfs);
}
-/*
- * Queue a received packet for a socket.
- */
-
-static int ec_queue_packet(struct sock *sk, struct sk_buff *skb,
- unsigned char stn, unsigned char net,
- unsigned char cb, unsigned char port)
-{
- struct ec_cb *eb = (struct ec_cb *)&skb->cb;
- struct sockaddr_ec *sec = (struct sockaddr_ec *)&eb->sec;
-
- memset(sec, 0, sizeof(struct sockaddr_ec));
- sec->sec_family = AF_ECONET;
- sec->type = ECTYPE_PACKET_RECEIVED;
- sec->port = port;
- sec->cb = cb;
- sec->addr.net = net;
- sec->addr.station = stn;
-
- return sock_queue_rcv_skb(sk, skb);
-}
/*
* Handle incoming AUN packets. Work out if anybody wants them,
@@ -1029,7 +1031,7 @@ release:
* Receive an Econet frame from a device.
*/
-static int econet_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
+static int econet_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt)
{
struct ec_framehdr *hdr = (struct ec_framehdr *)skb->data;
struct sock *sk;
@@ -1132,9 +1134,9 @@ void __exit econet_proto_exit(void)
int __init econet_proto_init(struct net_proto *pro)
{
extern void econet_sysctl_register(void);
- spin_lock_init(&aun_queue_lock);
sock_register(&econet_family_ops);
#ifdef CONFIG_ECONET_AUNUDP
+ spin_lock_init(&aun_queue_lock);
aun_udp_initialise();
#endif
#ifdef CONFIG_ECONET_NATIVE