SHA256
1
0
forked from pool/dpdk
dpdk/0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch
Markos Chandras 8c756f5fd5 Accepting request 555936 from home:mvarlese:branches:network
- Upgraded to latest stable 17.08.1; some of the fixes include:
  * net/qede: disable per-VF Tx switching feature
  * revert "net/virtio: flush Rx queues on start"
  * various fixes for mlx5 PMD drivers
  * various fixes for bnxt PMD drivers
  * various fixes for i40e PMD drivers
  * various fixes for crypto PMD drivers
  * testpmd: fix for non-consecutive ports
  * ethdev: fix ABI version

- Upgraded to latest stable 17.08.1; some of the fixes include:
  * net/qede: disable per-VF Tx switching feature
  * revert "net/virtio: flush Rx queues on start"
  * various fixes for mlx5 PMD drivers
  * various fixes for bnxt PMD drivers
  * various fixes for i40e PMD drivers
  * various fixes for crypto PMD drivers
  * testpmd: fix for non-consecutive ports
  * ethdev: fix ABI version

OBS-URL: https://build.opensuse.org/request/show/555936
OBS-URL: https://build.opensuse.org/package/show/network/dpdk?expand=0&rev=62
2017-12-11 12:51:44 +00:00

40 lines
1.2 KiB
Diff

From 3b16535193326c44209bb54b3a0f9ac3c258c8f8 Mon Sep 17 00:00:00 2001
From: Nirmoy Das <ndas@suse.de>
Date: Mon, 11 Apr 2016 15:01:06 +0200
Subject: [PATCH] enic: fix "Type-punning and strict-aliasing" warning
Inspired by http://pkgs.fedoraproject.org/cgit/rpms/dpdk.git/tree/dpdk-2.2-punning.patch
---
drivers/net/enic/enic_ethdev.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
index 33a3f87e2..35769e0ba 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -436,6 +436,8 @@ static void enicpmd_dev_stop(struct rte_eth_dev *eth_dev)
{
struct rte_eth_link link;
struct enic *enic = pmd_priv(eth_dev);
+ uint64_t *dev_link_ptr = (uint64_t *)&eth_dev->data->dev_link;
+ uint64_t *link_ptr = (uint64_t *)&link;
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
return;
@@ -443,9 +445,9 @@ static void enicpmd_dev_stop(struct rte_eth_dev *eth_dev)
ENICPMD_FUNC_TRACE();
enic_disable(enic);
memset(&link, 0, sizeof(link));
- rte_atomic64_cmpset((uint64_t *)&eth_dev->data->dev_link,
- *(uint64_t *)&eth_dev->data->dev_link,
- *(uint64_t *)&link);
+ rte_atomic64_cmpset(dev_link_ptr,
+ *dev_link_ptr,
+ *link_ptr);
}
/*
--
2.15.1