summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristram Ha <Tristram.Ha@micrel.com>2009-12-03 12:06:42 +0100
committerDavid S. Miller <davem@davemloft.net>2009-12-04 01:04:25 +0100
commit3320eae51d6e4c65b4733bf4d87de3b833973a1f (patch)
tree49f79a539dc3f1286654570bdd11543bed8e39d7
parentnetdevice: provide common routine for macvlan and vlan operstate management (diff)
downloadlinux-3320eae51d6e4c65b4733bf4d87de3b833973a1f.tar.xz
linux-3320eae51d6e4c65b4733bf4d87de3b833973a1f.zip
net: Fix ks8851 snl NULL pointer dereference Oops
This fixes the NULL pointer dereference Oops in the ks8851 snl network driver during transmission. All socket buffers from the queue are processed inside the loop, but new workqueues have been scheduled to run. Signed-off-by: Tristram Ha <Tristram.Ha@micrel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ks8851.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ks8851.c b/drivers/net/ks8851.c
index a23f739d222f..6d3ac65bc35c 100644
--- a/drivers/net/ks8851.c
+++ b/drivers/net/ks8851.c
@@ -1,4 +1,4 @@
-/* drivers/net/ks8651.c
+/* drivers/net/ks8851.c
*
* Copyright 2009 Simtec Electronics
* http://www.simtec.co.uk/
@@ -714,7 +714,7 @@ static void ks8851_tx_work(struct work_struct *work)
{
struct ks8851_net *ks = container_of(work, struct ks8851_net, tx_work);
struct sk_buff *txb;
- bool last = false;
+ bool last = skb_queue_empty(&ks->txq);
mutex_lock(&ks->lock);