X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/0bad753869524d77364f7d44074f9213beb8067a..adde7768a2eab2950a7628319ec832c63a00ff03:/target/linux/generic-2.4/patches/226-atm_br2684.patch diff --git a/target/linux/generic-2.4/patches/226-atm_br2684.patch b/target/linux/generic-2.4/patches/226-atm_br2684.patch index 56f00155d..9ec555ed3 100644 --- a/target/linux/generic-2.4/patches/226-atm_br2684.patch +++ b/target/linux/generic-2.4/patches/226-atm_br2684.patch @@ -1,7 +1,8 @@ -diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c ---- linux-2.4.32/net/atm/br2684.c 2004-08-08 01:26:06.000000000 +0200 -+++ linux-2.4.32.new/net/atm/br2684.c 2006-02-06 18:59:40.000000000 +0100 -@@ -55,36 +55,55 @@ +Index: linux-2.4.35.4/net/atm/br2684.c +=================================================================== +--- linux-2.4.35.4.orig/net/atm/br2684.c ++++ linux-2.4.35.4/net/atm/br2684.c +@@ -55,36 +55,55 @@ static void skb_debug(const struct sk_bu #define skb_debug(skb) do {} while (0) #endif @@ -63,7 +64,7 @@ diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c struct net_device_stats stats; int mac_was_set; }; -@@ -173,24 +192,84 @@ +@@ -173,24 +192,84 @@ static int br2684_xmit_vcc(struct sk_buf } skb = skb2; } @@ -159,7 +160,7 @@ diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c atomic_add(skb->truesize, &atmvcc->sk->wmem_alloc); ATM_SKB(skb)->atm_options = atmvcc->atm_options; brdev->stats.tx_packets++; -@@ -428,18 +507,39 @@ +@@ -428,18 +507,39 @@ static void br2684_push(struct atm_vcc * atm_return(atmvcc, skb->truesize); DPRINTK("skb from brdev %p\n", brdev); if (brvcc->encaps == e_llc) { @@ -204,7 +205,7 @@ diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c } else { plen = PADLEN + ETH_HLEN; /* pad, dstmac,srcmac, ethtype */ /* first 2 chars should be 0 */ -@@ -448,13 +548,14 @@ +@@ -448,13 +548,14 @@ static void br2684_push(struct atm_vcc * dev_kfree_skb(skb); return; } @@ -220,7 +221,7 @@ diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c #ifdef FASTER_VERSION /* FIXME: tcpdump shows that pointer to mac header is 2 bytes earlier, than should be. What else should I set? */ -@@ -465,30 +566,29 @@ +@@ -465,30 +566,29 @@ static void br2684_push(struct atm_vcc * skb->protocol = ((u16 *) skb->data)[-1]; #else /* some protocols might require this: */ skb->protocol = br_type_trans(skb, &brdev->net_dev); @@ -258,7 +259,7 @@ diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c netif_rx(skb); } -@@ -525,10 +625,10 @@ +@@ -525,10 +625,10 @@ Note: we do not have explicit unassign, err = -EEXIST; goto error; } @@ -273,7 +274,7 @@ diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c err = -EINVAL; goto error; } -@@ -554,18 +654,21 @@ +@@ -554,18 +654,21 @@ Note: we do not have explicit unassign, brvcc->atmvcc = atmvcc; atmvcc->user_back = brvcc; brvcc->encaps = (enum br2684_encaps) be.encaps; @@ -296,7 +297,7 @@ diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c write_unlock_irq(&devs_lock); MOD_DEC_USE_COUNT; return err; -@@ -608,12 +711,25 @@ +@@ -608,12 +711,25 @@ static int br2684_create(unsigned long a if (ni.ifname[0] != '\0') { memcpy(brdev->net_dev.name, ni.ifname, @@ -325,7 +326,7 @@ diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c brdev->mac_was_set = 0; #ifdef FASTER_VERSION my_eth_header = brdev->net_dev.hard_header; -@@ -677,12 +793,11 @@ +@@ -677,12 +793,11 @@ static int br2684_ioctl(struct atm_vcc * err = br2684_setfilt(atmvcc, arg); MOD_DEC_USE_COUNT; return err; @@ -339,7 +340,7 @@ diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c /* Never put more than 256 bytes in at once */ static int br2684_proc_engine(loff_t pos, char *buf) { -@@ -692,52 +807,62 @@ +@@ -692,52 +807,62 @@ static int br2684_proc_engine(loff_t pos list_for_each(lhd, &br2684_devs) { brdev = list_entry_brdev(lhd); if (pos-- == 0) @@ -427,7 +428,7 @@ diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c page = get_free_page(GFP_KERNEL); if (!page) return -ENOMEM; -@@ -746,7 +871,7 @@ +@@ -746,7 +871,7 @@ static ssize_t br2684_proc_read(struct f left = count; read_lock(&devs_lock); for (;;) { @@ -436,7 +437,7 @@ diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c if (x == 0) break; if (x > left) -@@ -761,12 +886,11 @@ +@@ -761,12 +886,11 @@ static ssize_t br2684_proc_read(struct f } len += x; left -= x; @@ -450,7 +451,7 @@ diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c if (len > 0 && copy_to_user(buf, (char *) page, len)) len = -EFAULT; free_page(page); -@@ -774,23 +898,20 @@ +@@ -774,23 +898,20 @@ static ssize_t br2684_proc_read(struct f } static struct file_operations br2684_proc_operations = { @@ -475,7 +476,7 @@ diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c br2684_ioctl_set(br2684_ioctl); return 0; } -@@ -799,9 +920,7 @@ +@@ -799,9 +920,7 @@ static void __exit UNUSED br2684_exit(vo { struct br2684_dev *brdev; br2684_ioctl_set(NULL); @@ -485,10 +486,11 @@ diff -urN linux-2.4.32/net/atm/br2684.c linux-2.4.32.new/net/atm/br2684.c while (!list_empty(&br2684_devs)) { brdev = list_entry_brdev(br2684_devs.next); unregister_netdev(&brdev->net_dev); -diff -urN linux-2.4.32/net/atm/common.c linux-2.4.32.new/net/atm/common.c ---- linux-2.4.32/net/atm/common.c 2004-02-18 14:36:32.000000000 +0100 -+++ linux-2.4.32.new/net/atm/common.c 2006-02-06 17:26:52.000000000 +0100 -@@ -158,6 +158,7 @@ +Index: linux-2.4.35.4/net/atm/common.c +=================================================================== +--- linux-2.4.35.4.orig/net/atm/common.c ++++ linux-2.4.35.4/net/atm/common.c +@@ -158,6 +158,7 @@ void br2684_ioctl_set(int (*hook)(struct } #ifdef CONFIG_ATM_BR2684_MODULE EXPORT_SYMBOL(br2684_ioctl_set); @@ -496,8 +498,10 @@ diff -urN linux-2.4.32/net/atm/common.c linux-2.4.32.new/net/atm/common.c #endif #endif ---- linux-2.4.32/include/linux/atmbr2684.h 2002-08-03 02:39:45.000000000 +0200 -+++ linux-2.4.32.new/include/linux/atmbr2684.h 2006-02-06 19:01:24.000000000 +0100 +Index: linux-2.4.35.4/include/linux/atmbr2684.h +=================================================================== +--- linux-2.4.35.4.orig/include/linux/atmbr2684.h ++++ linux-2.4.35.4/include/linux/atmbr2684.h @@ -3,6 +3,7 @@ #include @@ -535,7 +539,7 @@ diff -urN linux-2.4.32/net/atm/common.c linux-2.4.32.new/net/atm/common.c }; /* -@@ -68,16 +78,17 @@ +@@ -68,16 +78,17 @@ struct br2684_if_spec { * is per-backend specific */ struct atm_backend_br2684 { @@ -562,7 +566,7 @@ diff -urN linux-2.4.32/net/atm/common.c linux-2.4.32.new/net/atm/common.c }; /* -@@ -95,7 +106,12 @@ +@@ -95,7 +106,12 @@ struct br2684_filter_set { struct br2684_filter filter; };