Procházet zdrojové kódy

add two solos-releated patches from Philip Prindeville

SVN-Revision: 25630
Florian Fainelli před 15 roky
rodič
revize
8d7ca65dab

+ 14 - 0
target/linux/generic/patches-2.6.35/280-solos_dont_null_deref.patch

@@ -0,0 +1,14 @@
+--- a/drivers/atm/solos-pci.c
++++ b/drivers/atm/solos-pci.c
+@@ -864,8 +864,9 @@ static int popen(struct atm_vcc *vcc)
+ 	}
+ 
+ 	skb = alloc_skb(sizeof(*header), GFP_ATOMIC);
+-	if (!skb && net_ratelimit()) {
+-		dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n");
++	if (!skb) {
++		if (net_ratelimit())
++			dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n");
+ 		return -ENOMEM;
+ 	}
+ 	header = (void *)skb_put(skb, sizeof(*header));

+ 14 - 0
target/linux/generic/patches-2.6.36/280-solos_dont_null_deref.patch

@@ -0,0 +1,14 @@
+--- a/drivers/atm/solos-pci.c
++++ b/drivers/atm/solos-pci.c
+@@ -866,8 +866,9 @@ static int popen(struct atm_vcc *vcc)
+ 	}
+ 
+ 	skb = alloc_skb(sizeof(*header), GFP_ATOMIC);
+-	if (!skb && net_ratelimit()) {
+-		dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n");
++	if (!skb) {
++		if (net_ratelimit())
++			dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n");
+ 		return -ENOMEM;
+ 	}
+ 	header = (void *)skb_put(skb, sizeof(*header));

+ 14 - 0
target/linux/generic/patches-2.6.37/280-solos_dont_null_deref.patch

@@ -0,0 +1,14 @@
+--- a/drivers/atm/solos-pci.c
++++ b/drivers/atm/solos-pci.c
+@@ -866,8 +866,9 @@ static int popen(struct atm_vcc *vcc)
+ 	}
+ 
+ 	skb = alloc_skb(sizeof(*header), GFP_ATOMIC);
+-	if (!skb && net_ratelimit()) {
+-		dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n");
++	if (!skb) {
++		if (net_ratelimit())
++			dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n");
+ 		return -ENOMEM;
+ 	}
+ 	header = (void *)skb_put(skb, sizeof(*header));

+ 16 - 0
target/linux/generic/patches-2.6.37/281-solos_uniform_vpi_vci.patch

@@ -0,0 +1,16 @@
+--- /dev/null
++++ b/linux/generic/patches-2.6.37/281-solos_vpi_order.patch
+@@ -0,0 +1,13 @@
++--- a/drivers/atm/solos-pci.c	2010-12-24 01:07:09.000000000 -0700
+++++ b/drivers/atm/solos-pci.c	2010-12-24 14:18:45.000000000 -0700
++@@ -734,8 +734,8 @@ void solos_bh(unsigned long card_arg)
++ 					       le16_to_cpu(header->vci));
++ 				if (!vcc) {
++ 					if (net_ratelimit())
++-						dev_warn(&card->dev->dev, "Received packet for unknown VCI.VPI %d.%d on port %d\n",
++-							 le16_to_cpu(header->vci), le16_to_cpu(header->vpi),
+++						dev_warn(&card->dev->dev, "Received packet for unknown VPI.VCI %d.%d on port %d\n",
+++							 le16_to_cpu(header->vpi), le16_to_cpu(header->vci),
++ 							 port);
++ 					continue;
++ 				}

+ 14 - 0
target/linux/generic/patches-2.6.38/280-solos_dont_null_deref.patch

@@ -0,0 +1,14 @@
+--- a/drivers/atm/solos-pci.c
++++ b/drivers/atm/solos-pci.c
+@@ -866,8 +866,9 @@ static int popen(struct atm_vcc *vcc)
+ 	}
+ 
+ 	skb = alloc_skb(sizeof(*header), GFP_ATOMIC);
+-	if (!skb && net_ratelimit()) {
+-		dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n");
++	if (!skb) {
++		if (net_ratelimit())
++			dev_warn(&card->dev->dev, "Failed to allocate sk_buff in popen()\n");
+ 		return -ENOMEM;
+ 	}
+ 	header = (void *)skb_put(skb, sizeof(*header));

+ 3 - 3
target/linux/x86/patches-2.6.35/110-net5501_modstuff.patch

@@ -1,6 +1,6 @@
---- a/drivers/leds/leds-net5501.c.orig	2010-09-28 19:09:08.000000000 -0600
-+++ b/drivers/leds/leds-net5501.c	2010-11-05 14:23:57.000000000 -0600
-@@ -92,3 +92,8 @@
+--- a/drivers/leds/leds-net5501.c
++++ b/drivers/leds/leds-net5501.c
+@@ -92,3 +92,8 @@ unmap:
  }
  }
  
  
  arch_initcall(soekris_init);
  arch_initcall(soekris_init);