diff options
author | Florian Fainelli <florian@openwrt.org> | 2011-02-20 19:59:25 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2011-02-20 19:59:25 +0000 |
commit | d4ce1edb5a60426afb62bfcc14313f33332bb07d (patch) | |
tree | 19e63070e5c62cd2c6dd480811533e44d5b9021f /target/linux/generic | |
parent | 7bfdfcc4bd109eb4c0837cf1ab3150d8f54730b6 (diff) | |
download | upstream-d4ce1edb5a60426afb62bfcc14313f33332bb07d.tar.gz upstream-d4ce1edb5a60426afb62bfcc14313f33332bb07d.tar.bz2 upstream-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')
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)); |