Hello,
I finally had a new firmware with your new patch.
There is the new logs, hope it help. I am working late today if you need more.
Best,
Laurent
On 27/09/2011 10:01, Antonio Quartulli wrote:
Signed-off-by: Antonio Quartulli ordex@autistici.org
translation-table.c | 19 +++++++++++++++++-- 1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/translation-table.c b/translation-table.c index 7de9960..8cfccae 100644 --- a/translation-table.c +++ b/translation-table.c @@ -258,9 +258,14 @@ int tt_changes_fill_buffer(struct bat_priv *bat_priv, spin_lock_bh(&bat_priv->tt_changes_list_lock); atomic_set(&bat_priv->tt_local_changes, 0);
- bat_dbg(DBG_TT, bat_priv, "TT_BUG Preparing OGM buffer\n");
- list_for_each_entry_safe(entry, safe, &bat_priv->tt_changes_list, list) { if (count < tot_changes) {
bat_dbg(DBG_TT, bat_priv, "TT_BUG Copying flags: 0x%x addr: %pM\n",
entry->change.flags,
entry->change.addr); memcpy(buff + tt_len(count), &entry->change, sizeof(struct tt_change)); count++;
@@ -270,6 +275,8 @@ int tt_changes_fill_buffer(struct bat_priv *bat_priv, } spin_unlock_bh(&bat_priv->tt_changes_list_lock);
- bat_dbg(DBG_TT, bat_priv, "TT_BUG Copied %d addresses\n", count);
- /* Keep the buffer for possible tt_request */ spin_lock_bh(&bat_priv->tt_buff_lock); kfree(bat_priv->tt_buff);
@@ -1407,7 +1414,11 @@ static void _tt_update_changes(struct bat_priv *bat_priv, { int i;
- bat_dbg(DBG_TT, bat_priv, "TT_BUG Received %d changes\n", tt_num_changes);
- for (i = 0; i < tt_num_changes; i++) {
bat_dbg(DBG_TT, bat_priv, "TT_BUG flags: 0x%x %pM\n", (tt_change + i)->flags,
if ((tt_change + i)->flags & TT_CLIENT_DEL) tt_global_del(bat_priv, orig_node, (tt_change + i)->addr,(tt_change + i)->addr);
@@ -1505,12 +1516,16 @@ void handle_tt_response(struct bat_priv *bat_priv, if (!orig_node) goto out;
- if (tt_response->flags & TT_FULL_TABLE)
- if (tt_response->flags & TT_FULL_TABLE) {
tt_fill_gtable(bat_priv, tt_response);bat_dbg(DBG_TT, bat_priv, "TT_BUG Got full table on response\n");
- else
}
else{
bat_dbg(DBG_TT, bat_priv, "TT_BUG Got diff\n");
tt_update_changes(bat_priv, orig_node, tt_response->tt_data, tt_response->ttvn, (struct tt_change *)(tt_response + 1));
}
/* Delete the tt_req_node from pending tt_requests list */ spin_lock_bh(&bat_priv->tt_req_list_lock);