[dpdk-dev] [PATCH v3] net/virtio: fix wrong variable assignment in helper macro
Vipul Ashri
vipul.ashri at oracle.com
Fri Aug 14 07:23:57 CEST 2020
Hi All
I tried twice uploading this same patch but it is still not listed under http://patches.dpdk.org/project/dpdk/list/.
Please let me know if I am missing something and required to do some additional steps to submit my patch.
Thanks to Xia for reviewing this code!
Regards
Vipul
-----Original Message-----
From: Xia, Chenbo [mailto:chenbo.xia at intel.com]
Sent: Friday, 14 August, 2020 6:56
To: Vipul Ashri <vipul.ashri at oracle.com>; dev at dpdk.org
Cc: Edwin Leung <edwin.leung at oracle.com>; stable at dpdk.org; Wang, Zhihong <zhihong.wang at intel.com>; maxime.coquelin at redhat.com
Subject: RE: [PATCH v3] net/virtio: fix wrong variable assignment in helper macro
> -----Original Message-----
> From: Vipul Ashri <vipul.ashri at oracle.com>
> Sent: Friday, August 14, 2020 12:22 AM
> To: dev at dpdk.org
> Cc: Xia, Chenbo <chenbo.xia at intel.com>; vipul.ashri at oracle.com;
> edwin.leung at oracle.com; stable at dpdk.org; Wang, Zhihong
> <zhihong.wang at intel.com>; maxime.coquelin at redhat.com
> Subject: [PATCH v3] net/virtio: fix wrong variable assignment in
> helper macro
>
> Inside Macro ASSIGN_UNLESS_EQUAL(var, val), assignment to var is
> always failing as assignment done using var_ having local scope only.
> This leads to TX packets not going out and found broken due to cleanup
> malfunctioning. This patch fixes the wrong variable assignment.
>
> Fixes: 57f90f894588 ("net/virtio: reuse packed ring functions")
> Cc: stable at dpdk.org
>
> Signed-off-by: Vipul Ashri <vipul.ashri at oracle.com>
> ---
> drivers/net/virtio/virtqueue.h | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/virtio/virtqueue.h
> b/drivers/net/virtio/virtqueue.h index 105a9c00c..20c95471e 100644
> --- a/drivers/net/virtio/virtqueue.h
> +++ b/drivers/net/virtio/virtqueue.h
> @@ -607,10 +607,8 @@ virtqueue_notify(struct virtqueue *vq)
>
> /* avoid write operation when necessary, to lessen cache issues */
> #define ASSIGN_UNLESS_EQUAL(var, val) do { \
> - typeof(var) var_ = (var); \
> - typeof(val) val_ = (val); \
> - if ((var_) != (val_)) \
> - (var_) = (val_); \
> + if ((var) != (val)) \
> + (var) = (val); \
> } while (0)
>
> #define virtqueue_clear_net_hdr(hdr) do { \
> --
> 2.28.0.windows.1
Reviewed-by: Chenbo Xia <chenbo.xia at intel.com>
More information about the dev
mailing list