summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Williams <nathan@traverse.com.au>2012-11-27 07:34:09 +0100
committerDavid Woodhouse <David.Woodhouse@intel.com>2012-12-02 01:05:18 +0100
commit007ef52be171b9eee6f4099d3e5706e8068d31ef (patch)
treec646a61c3b215a3f8149f192fc86ee583667e5be
parentbr2684: fix module_put() race (diff)
downloadlinux-007ef52be171b9eee6f4099d3e5706e8068d31ef.tar.xz
linux-007ef52be171b9eee6f4099d3e5706e8068d31ef.zip
solos-pci: Fix leak of skb received for unknown vcc
... and ensure that the next skb is set up for RX in the DMA case. Signed-off-by: Nathan Williams <nathan@traverse.com.au> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
-rw-r--r--drivers/atm/solos-pci.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
index 026bdc1dfcc6..f0863b443762 100644
--- a/drivers/atm/solos-pci.c
+++ b/drivers/atm/solos-pci.c
@@ -710,7 +710,8 @@ void solos_bh(unsigned long card_arg)
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_kfree_skb_any(skb);
+ break;
}
atm_charge(vcc, skb->truesize);
vcc->push(vcc, skb);