From: Florian Fainelli Date: Sun, 20 Feb 2011 19:59:25 +0000 (+0000) Subject: [kernel] add two solos-releated patches from Philip Prindeville X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;h=c6f913c6494722456346f5329faec761d3b7efbb;hp=71d71e727f6218c61cf860c435f58e86eccc07ba [kernel] add two solos-releated patches from Philip Prindeville SVN-Revision: 25630 --- 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)); diff --git a/target/linux/x86/patches-2.6.35/110-net5501_modstuff.patch b/target/linux/x86/patches-2.6.35/110-net5501_modstuff.patch index cd53952249..ae41e548ec 100644 --- a/target/linux/x86/patches-2.6.35/110-net5501_modstuff.patch +++ b/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);