[kernel] add two solos-releated patches from Philip Prindeville
authorFlorian Fainelli <florian@openwrt.org>
Sun, 20 Feb 2011 19:59:25 +0000 (19:59 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Sun, 20 Feb 2011 19:59:25 +0000 (19:59 +0000)
SVN-Revision: 25630

target/linux/generic/patches-2.6.35/280-solos_dont_null_deref.patch [new file with mode: 0644]
target/linux/generic/patches-2.6.36/280-solos_dont_null_deref.patch [new file with mode: 0644]
target/linux/generic/patches-2.6.37/280-solos_dont_null_deref.patch [new file with mode: 0644]
target/linux/generic/patches-2.6.37/281-solos_uniform_vpi_vci.patch [new file with mode: 0644]
target/linux/generic/patches-2.6.38/280-solos_dont_null_deref.patch [new file with mode: 0644]
target/linux/x86/patches-2.6.35/110-net5501_modstuff.patch

diff --git a/target/linux/generic/patches-2.6.35/280-solos_dont_null_deref.patch b/target/linux/generic/patches-2.6.35/280-solos_dont_null_deref.patch
new file mode 100644 (file)
index 0000000..ae60957
--- /dev/null
@@ -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));
diff --git a/target/linux/generic/patches-2.6.36/280-solos_dont_null_deref.patch b/target/linux/generic/patches-2.6.36/280-solos_dont_null_deref.patch
new file mode 100644 (file)
index 0000000..1359572
--- /dev/null
@@ -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));
diff --git a/target/linux/generic/patches-2.6.37/280-solos_dont_null_deref.patch b/target/linux/generic/patches-2.6.37/280-solos_dont_null_deref.patch
new file mode 100644 (file)
index 0000000..1359572
--- /dev/null
@@ -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));
diff --git a/target/linux/generic/patches-2.6.37/281-solos_uniform_vpi_vci.patch b/target/linux/generic/patches-2.6.37/281-solos_uniform_vpi_vci.patch
new file mode 100644 (file)
index 0000000..2071ac4
--- /dev/null
@@ -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;
++                              }
diff --git a/target/linux/generic/patches-2.6.38/280-solos_dont_null_deref.patch b/target/linux/generic/patches-2.6.38/280-solos_dont_null_deref.patch
new file mode 100644 (file)
index 0000000..1359572
--- /dev/null
@@ -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));
index cd53952..ae41e54 100644 (file)
@@ -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);