From ee7bcbab9c9f20df8cbb6939804309bfe447f16f Mon Sep 17 00:00:00 2001
From: Sven Eckelmann <sven.eckelmann@gmx.de>
Date: Fri, 12 Sep 2008 17:11:20 +0200
Subject: [PATCH] Add debug code to find nanostation2 batgat crashes.
---
batman/linux/modules/gateway.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
@@ -395,7 +395,11 @@ static int packet_recv_thread(void *data)
tmp_entry = kmalloc(sizeof(struct free_client_data), GFP_KERNEL);
if(tmp_entry != NULL) {
tmp_entry->gw_client = client_data;
+ printk("list_add_b; tmp_entry pointers (%p, %p, %p)\n", &tmp_entry->list, tmp_entry->list.prev, tmp_entry->list.next);
+ printk("list_add_b; free_client_list pointers (%p, %p, %p)\n", &free_client_list, free_client_list.prev, free_client_list.next);
list_add(&tmp_entry->list,&free_client_list);
+ printk("list_add_a; tmp_entry pointers (%p, %p, %p)\n", &tmp_entry->list, tmp_entry->list.prev, tmp_entry->list.next);
+ printk("list_add_a; free_client_list pointers (%p, %p, %p)\n", &free_client_list, free_client_list.prev, free_client_list.next);
} else
DBG("can't add free gw_client to free list");
@@ -657,7 +661,11 @@ static struct gw_client *get_ip_addr(struct sockaddr_in *client_addr)
list_for_each_entry_safe(entry, next, &free_client_list, list) {
DBG("use free client from list");
gw_client = entry->gw_client;
+ printk("free client_b; entry pointers (%p, %p, %p)\n", &entry->list, entry->list.prev, entry->list.next);
+ printk("free client_b; free_client_list pointers (%p, %p, %p)\n", &free_client_list, free_client_list.prev, free_client_list.next);
list_del(&entry->list);
+ printk("free client_a; entry pointers (%p, %p, %p)\n", &entry->list, entry->list.prev, entry->list.next);
+ printk("free client_a; free_client_list pointers (%p, %p, %p)\n", &free_client_list, free_client_list.prev, free_client_list.next);
kfree(entry);
break;
}
--
1.6.0.1