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

Commit be78a690 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by David S. Miller
Browse files

net: hns: avoid uninitialized variable warning:



gcc fails to see that the use of the 'last_offset' variable
in hns_nic_reuse_page() is used correctly and issues a bogus
warning:

drivers/net/ethernet/hisilicon/hns/hns_enet.c: In function 'hns_nic_reuse_page':
drivers/net/ethernet/hisilicon/hns/hns_enet.c:541:6: warning: 'last_offset' may be used uninitialized in this function [-Wmaybe-uninitialized]

This simplifies the function to make it more obvious what is
going on to both readers and compilers, which makes the warning
go away.

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a72a5e2d
Loading
Loading
Loading
Loading
+22 −25
Original line number Diff line number Diff line
@@ -499,30 +499,28 @@ static void hns_nic_reuse_page(struct sk_buff *skb, int i,
	struct hnae_desc *desc;
	int truesize, size;
	int last_offset;
	bool twobufs;

	twobufs = ((PAGE_SIZE < 8192) && hnae_buf_size(ring) == HNS_BUFFER_SIZE_2048);

	desc = &ring->desc[ring->next_to_clean];
	size = le16_to_cpu(desc->rx.size);

#if (PAGE_SIZE < 8192)
	if (hnae_buf_size(ring) == HNS_BUFFER_SIZE_2048) {
	if (twobufs) {
		truesize = hnae_buf_size(ring);
	} else {
		truesize = ALIGN(size, L1_CACHE_BYTES);
		last_offset = hnae_page_size(ring) - hnae_buf_size(ring);
	}

#else
	truesize = ALIGN(size, L1_CACHE_BYTES);
	last_offset = hnae_page_size(ring) - hnae_buf_size(ring);
#endif

	skb_add_rx_frag(skb, i, desc_cb->priv, desc_cb->page_offset + pull_len,
			size - pull_len, truesize - pull_len);

	 /* avoid re-using remote pages,flag default unreuse */
	if (likely(page_to_nid(desc_cb->priv) == numa_node_id())) {
#if (PAGE_SIZE < 8192)
		if (hnae_buf_size(ring) == HNS_BUFFER_SIZE_2048) {
	if (unlikely(page_to_nid(desc_cb->priv) != numa_node_id()))
		return;

	if (twobufs) {
		/* if we are only owner of page we can reuse it */
		if (likely(page_count(desc_cb->priv) == 1)) {
			/* flip page offset to other buffer */
@@ -534,7 +532,7 @@ static void hns_nic_reuse_page(struct sk_buff *skb, int i,
		}
		return;
	}
#endif

	/* move offset up to the next cache line */
	desc_cb->page_offset += truesize;

@@ -544,7 +542,6 @@ static void hns_nic_reuse_page(struct sk_buff *skb, int i,
		get_page(desc_cb->priv);
	}
}
}

static void get_v2rx_desc_bnum(u32 bnum_flag, int *out_bnum)
{