aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2011-02-20 19:59:25 +0000
committerFlorian Fainelli <florian@openwrt.org>2011-02-20 19:59:25 +0000
commitd4ce1edb5a60426afb62bfcc14313f33332bb07d (patch)
tree19e63070e5c62cd2c6dd480811533e44d5b9021f /target/linux/generic
parent7bfdfcc4bd109eb4c0837cf1ab3150d8f54730b6 (diff)
downloadmaster-187ad058-d4ce1edb5a60426afb62bfcc14313f33332bb07d.tar.gz
master-187ad058-d4ce1edb5a60426afb62bfcc14313f33332bb07d.tar.bz2
master-187ad058-d4ce1edb5a60426afb62bfcc14313f33332bb07d.zip
[kernel] add two solos-releated patches from Philip Prindeville
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25630 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic')
-rw-r--r--target/linux/generic/patches-2.6.35/280-solos_dont_null_deref.patch14
-rw-r--r--target/linux/generic/patches-2.6.36/280-solos_dont_null_deref.patch14
-rw-r--r--target/linux/generic/patches-2.6.37/280-solos_dont_null_deref.patch14
-rw-r--r--target/linux/generic/patches-2.6.37/281-solos_uniform_vpi_vci.patch16
-rw-r--r--target/linux/generic/patches-2.6.38/280-solos_dont_null_deref.patch14
5 files changed, 72 insertions, 0 deletions
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
index 0000000000..ae609573ee
--- /dev/null
+++ b/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));
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
index 0000000000..13595725ca
--- /dev/null
+++ b/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));
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
index 0000000000..13595725ca
--- /dev/null
+++ b/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));
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
index 0000000000..2071ac4b80
--- /dev/null
+++ b/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;
++ }
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
index 0000000000..13595725ca
--- /dev/null
+++ b/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));