diff -urN linux-2.4.20/drivers/atm/atmtcp.c linux-2.4.20-atm/drivers/atm/atmtcp.c
--- linux-2.4.20/drivers/atm/atmtcp.c Fri Nov 29 00:53:12 2002
+++ linux-2.4.20-atm/drivers/atm/atmtcp.c Wed May 28 01:58:41 2003
+@@ -4,6 +4,7 @@
+
+
+ #include <linux/module.h>
++#include <linux/init.h>
+ #include <linux/wait.h>
+ #include <linux/atmdev.h>
+ #include <linux/atm_tcp.h>
@@ -125,8 +125,6 @@
msg.addr.sap_addr.vpi = vpi;
msg.hdr.vci = htons(vci);
diff -urN linux-2.4.20/drivers/atm/horizon.c linux-2.4.20-atm/drivers/atm/horizon.c
--- linux-2.4.20/drivers/atm/horizon.c Sat Aug 3 02:39:43 2002
+++ linux-2.4.20-atm/drivers/atm/horizon.c Wed May 28 01:58:41 2003
+@@ -1765,13 +1765,13 @@
+
+ {
+ unsigned int tx_len = skb->len;
+- unsigned int tx_iovcnt = ATM_SKB(skb)->iovcnt;
++ unsigned int tx_nr_frags = skb_shinfo(skb)->nr_frags;
+ // remember this so we can free it later
+ dev->tx_skb = skb;
+
+- if (tx_iovcnt) {
++ if (tx_nr_frags) {
+ // scatter gather transfer
+- dev->tx_regions = tx_iovcnt;
++ dev->tx_regions = tx_nr_frags;
+ dev->tx_iovec = (struct iovec *) skb->data;
+ dev->tx_bytes = 0;
+ PRINTD (DBG_TX|DBG_BUS, "TX start scatter-gather transfer (iovec %p, len %d)",
@@ -2189,14 +2189,6 @@
}
#endif
return left;
}
#endif /* CONFIG_PROC_FS */
+@@ -2842,7 +2842,6 @@
+ phy_get: NULL,
+ feedback: NULL,
+ change_qos: lanai_change_qos,
+- free_rx_skb: NULL,
+ proc_read: lanai_proc_read
+ };
+
diff -urN linux-2.4.20/drivers/atm/nicstar.c linux-2.4.20-atm/drivers/atm/nicstar.c
--- linux-2.4.20/drivers/atm/nicstar.c Wed May 28 01:53:45 2003
+++ linux-2.4.20-atm/drivers/atm/nicstar.c Wed May 28 01:58:41 2003
diff -urN linux-2.4.20/drivers/atm/zatm.c linux-2.4.20-atm/drivers/atm/zatm.c
--- linux-2.4.20/drivers/atm/zatm.c Fri Sep 14 23:40:00 2001
+++ linux-2.4.20-atm/drivers/atm/zatm.c Wed May 28 01:58:41 2003
+@@ -827,10 +827,10 @@
+ vcc = ATM_SKB(skb)->vcc;
+ zatm_dev = ZATM_DEV(vcc->dev);
+ zatm_vcc = ZATM_VCC(vcc);
+- EVENT("iovcnt=%d\n",ATM_SKB(skb)->iovcnt,0);
++ EVENT("nr_frags=%d\n",skb_shinfo(skb)->nr_frags,0);
+ save_flags(flags);
+ cli();
+- if (!ATM_SKB(skb)->iovcnt) {
++ if (!skb_shinfo(skb)->nr_frags) {
+ if (zatm_vcc->txing == RING_ENTRIES-1) {
+ restore_flags(flags);
+ return RING_BUSY;
@@ -1579,8 +1579,6 @@
DPRINTK(">zatm_open\n");
zatm_dev = ZATM_DEV(vcc->dev);
diff -urN linux-2.4.20/net/atm/common.c linux-2.4.20-atm/net/atm/common.c
--- linux-2.4.20/net/atm/common.c Wed May 28 01:54:25 2003
+++ linux-2.4.20-atm/net/atm/common.c Wed May 28 02:03:31 2003
+@@ -5,6 +5,7 @@
+
+ #include <linux/config.h>
+ #include <linux/module.h>
++#include <linux/init.h>
+ #include <linux/kmod.h>
+ #include <linux/net.h> /* struct socket, struct net_proto, struct
+ proto_ops */
@@ -27,21 +27,22 @@
#include <asm/atomic.h>
#include <asm/poll.h>
vcc = ATM_SD(sock);
switch (cmd) {
case SIOCOUTQ:
+@@ -581,7 +661,7 @@
+ goto done;
+ }
+ ret_val = put_user(vcc->sk->sndbuf-
+- atomic_read(&vcc->sk->wmem_alloc)-ATM_PDU_OVHD,
++ atomic_read(&vcc->sk->wmem_alloc),
+ (int *) arg) ? -EFAULT : 0;
+ goto done;
+ case SIOCINQ:
@@ -601,13 +689,14 @@
goto done;
}
};
/*
-@@ -630,6 +619,14 @@
- return;
- }
-
-+static void lec_set_multicast_list(struct net_device *dev)
-+{
-+ /* by default, all multicast frames arrive over the bus.
-+ * eventually support selective multicast service
-+ */
-+ return;
-+}
-+
- static void
- lec_init(struct net_device *dev)
- {
@@ -726,6 +723,7 @@
skb->protocol = eth_type_trans(skb, dev);
priv->stats.rx_packets++;