#define BAT_RR_LEN 16
 
 /* icmp_packet_rr must start with all fields from imcp_packet
-   as this is assumed by code that handles ICMP packets */
+ * as this is assumed by code that handles ICMP packets */
 struct icmp_packet_rr {
        uint8_t  packet_type;
        uint8_t  version;  /* batman version field */
 
        struct batman_if *if_incoming;
 };
 
+
 struct bat_priv {
        atomic_t mesh_state;
        struct net_device_stats stats;
        struct hashtable_t *hna_local_hash;
        struct hashtable_t *hna_global_hash;
        struct hashtable_t *vis_hash;
-       spinlock_t orig_hash_lock;
-       spinlock_t forw_bat_list_lock;
-       spinlock_t forw_bcast_list_lock;
-       spinlock_t hna_lhash_lock;
-       spinlock_t hna_ghash_lock;
-       spinlock_t vis_hash_lock;
-       spinlock_t vis_list_lock;
+       spinlock_t orig_hash_lock; /* protects orig_hash */
+       spinlock_t forw_bat_list_lock; /* protects forw_bat_list */
+       spinlock_t forw_bcast_list_lock; /* protects  */
+       spinlock_t hna_lhash_lock; /* protects hna_local_hash */
+       spinlock_t hna_ghash_lock; /* protects hna_global_hash */
+       spinlock_t vis_hash_lock; /* protects vis_hash */
+       spinlock_t vis_list_lock; /* protects vis_info::recv_list */
        int16_t num_local_hna;
        atomic_t hna_local_changed;
        struct delayed_work hna_work;
        struct list_head queue_list;
        unsigned int queue_len;
        unsigned char index;
-       spinlock_t lock;
+       spinlock_t lock; /* protects queue_list, queue_len, index */
        wait_queue_head_t queue_wait;
        struct bat_priv *bat_priv;
 };
        char log_buff[LOG_BUF_LEN];
        unsigned long log_start;
        unsigned long log_end;
-       spinlock_t lock;
+       spinlock_t lock; /* protects log_buff, log_start and log_end */
        wait_queue_head_t queue_wait;
 };
 
 
 #define smallest_signed_int(x) (1u << (7u + 8u * (sizeof(x) - 1u)))
 
 /* Checks if a sequence number x is a predecessor/successor of y.
-   they handle overflows/underflows and can correctly check for a
-   predecessor/successor unless the variable sequence number has grown by
-   more then 2**(bitwidth(x)-1)-1.
-   This means that for a uint8_t with the maximum value 255, it would think:
-    * when adding nothing - it is neither a predecessor nor a successor
-    * before adding more than 127 to the starting value - it is a predecessor,
-    * when adding 128 - it is neither a predecessor nor a successor,
-    * after adding more than 127 to the starting value - it is a successor */
+ * they handle overflows/underflows and can correctly check for a
+ * predecessor/successor unless the variable sequence number has grown by
+ * more then 2**(bitwidth(x)-1)-1.
+ * This means that for a uint8_t with the maximum value 255, it would think:
+ *  - when adding nothing - it is neither a predecessor nor a successor
+ *  - before adding more than 127 to the starting value - it is a predecessor,
+ *  - when adding 128 - it is neither a predecessor nor a successor,
+ *  - after adding more than 127 to the starting value - it is a successor */
 #define seq_before(x, y) ({typeof(x) _dummy = (x - y); \
                        _dummy > smallest_signed_int(_dummy); })
 #define seq_after(x, y) seq_before(y, x)