Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 66a1b2bc authored by Antonio Quartulli's avatar Antonio Quartulli
Browse files

batman-adv: convert bat_priv->tt_crc from atomic_t to uint16_t



In the code we neever need to atomically check and set the bat_priv->tt_crc
field value. It is simply set and read once in different pieces of the code.
Therefore this field can be safely be converted from atomic_t to uint16_t.

Reported-by: default avatarAl Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: default avatarAntonio Quartulli <ordex@autistici.org>
Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
parent 5d52dad2
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -575,8 +575,7 @@ static void bat_iv_ogm_schedule(struct hard_iface *hard_iface,
			htonl((uint32_t)atomic_read(&hard_iface->seqno));

	batman_ogm_packet->ttvn = atomic_read(&bat_priv->ttvn);
	batman_ogm_packet->tt_crc = htons((uint16_t)
						atomic_read(&bat_priv->tt_crc));
	batman_ogm_packet->tt_crc = htons(bat_priv->tt_crc);
	if (tt_num_changes >= 0)
		batman_ogm_packet->tt_num_changes = tt_num_changes;

+1 −1
Original line number Diff line number Diff line
@@ -111,7 +111,7 @@ static int prepare_packet_buffer(struct bat_priv *bat_priv,

	realloc_packet_buffer(hard_iface, new_len);

	atomic_set(&bat_priv->tt_crc, tt_local_crc(bat_priv));
	bat_priv->tt_crc = tt_local_crc(bat_priv);

	/* reset the sending counter */
	atomic_set(&bat_priv->tt_ogm_append_cnt, TT_OGM_APPEND_MAX);
+1 −1
Original line number Diff line number Diff line
@@ -210,7 +210,7 @@ struct bat_priv {
	spinlock_t vis_list_lock; /* protects vis_info::recv_list */
	atomic_t num_local_tt;
	/* Checksum of the local table, recomputed before sending a new OGM */
	atomic_t tt_crc;
	uint16_t tt_crc;
	unsigned char *tt_buff;
	int16_t tt_buff_len;
	spinlock_t tt_buff_lock; /* protects tt_buff */