--- /dev/null
+--- 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));
--- /dev/null
+--- 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));
--- /dev/null
+--- 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));
--- /dev/null
+--- /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;
++ }
--- /dev/null
+--- 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));
---- 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);