Hi Vipul, > -----Original Message----- > From: Vipul Ashri <vipul.as...@oracle.com> > Sent: Wednesday, August 12, 2020 5:23 PM > To: dev@dpdk.org > Cc: Xia, Chenbo <chenbo....@intel.com>; vipul.as...@oracle.com; > edwin.le...@oracle.com > Subject: [PATCH v2] Fixes: 57f90f894588("net/virtio: reuse packed ring > functions") > > Problem - Standard Tx packets are not going out and found broken > due to cleanup malfunctioning whereever below mentioned macro is > used. > > RootCause - Here inside Macro 'ASSIGN_UNLESS_EQUAL(var, val)' > assignment to 'var' argument passed is always failing as assignment > done using 'var_' having local scope only. > > Signed-off-by: Vipul Ashri <vipul.as...@oracle.com>
I understand now. Your patch makes sense. But your commit title/msg is still wrong. An example commit message should be (you could use this): 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: sta...@dpdk.org Signed-off-by: Vipul Ashri <vipul.as...@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