From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 45910A04C8; Fri, 18 Sep 2020 11:55:25 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 036BB1D981; Fri, 18 Sep 2020 11:55:25 +0200 (CEST) Received: from userp2120.oracle.com (userp2120.oracle.com [156.151.31.85]) by dpdk.org (Postfix) with ESMTP id 10DCC1D97E; Fri, 18 Sep 2020 11:55:23 +0200 (CEST) Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 08I9ik9o022013; Fri, 18 Sep 2020 09:55:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=corp-2020-01-29; bh=WRFvYIMXqRcZWWyBOAv4c21XocIZDMCT/0UrLewgCl4=; b=MzAPqGvI4brtm/cXiJ1hEkP7dPnoSW+IQdd1UbsRXHNb/jdFic5jz9NuhzjEVlshLP+s UhbknL2ZYNVviXwTYyzmvriBG9AJkgyDuRzOxv81hRGryPVpBf93YyCQccVNauVfuVu/ lkQDdpthrl/2H7KkWjS/Tlyf7xLTw2Fr2JpehJ5U1hn1DuvN+fbTFLFx3Fsg5JR3MNxr L/ngHq4OnnTVFyQncHlkQvHvX98ithlRrNYCZNrY87JLY9axoXz5Ap5gAEvqegTwjYhh MMT058sfL0jt1Bira0xWzA4OOkPeE1ocXj+MQgAYyyD4JUl7SIMCbjjmek5pQNymcPKD Gg== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2120.oracle.com with ESMTP id 33j91dyxgd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 18 Sep 2020 09:55:23 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 08I9iuo9068203; Fri, 18 Sep 2020 09:55:22 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3030.oracle.com with ESMTP id 33megb3mh5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 18 Sep 2020 09:55:22 +0000 Received: from abhmp0008.oracle.com (abhmp0008.oracle.com [141.146.116.14]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 08I9tHlC029644; Fri, 18 Sep 2020 09:55:18 GMT Received: from VASHRI-IN.in.oracle.com (/10.166.169.57) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 18 Sep 2020 09:55:17 +0000 From: Vipul Ashri To: dev@dpdk.org Cc: chenbo.xia@intel.com, vipul.ashri@oracle.com, zhihong.wang@intel.com, maxime.coquelin@redhat.com, arybchenko@solarflare.com, makarov@kraftway.ru, stable@dpdk.org Date: Fri, 18 Sep 2020 15:25:04 +0530 Message-Id: <20200918095505.1619-1-vipul.ashri@oracle.com> X-Mailer: git-send-email 2.28.0.windows.1 In-Reply-To: <20200813072837.1468-1-vipul.ashri@oracle.com> References: <20200813072837.1468-1-vipul.ashri@oracle.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9747 signatures=668679 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 mlxscore=0 spamscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2009180080 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9747 signatures=668679 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 impostorscore=0 priorityscore=1501 malwarescore=0 suspectscore=1 mlxlogscore=999 clxscore=1015 adultscore=0 lowpriorityscore=0 spamscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2009180080 Subject: [dpdk-dev] [PATCH v5] net/virtio: fix wrong variable assignment in helper macro X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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@dpdk.org Signed-off-by: Vipul Ashri --- drivers/net/virtio/virtqueue.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/virtio/virtqueue.h b/drivers/net/virtio/virtqueue.h index 105a9c00c..6ed50648c 100644 --- a/drivers/net/virtio/virtqueue.h +++ b/drivers/net/virtio/virtqueue.h @@ -607,10 +607,10 @@ 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_); \ + typeof(var) *const var_ = &(var); \ + typeof(val) const val_ = (val); \ + if (*var_ != val_) \ + *var_ = val_; \ } while (0) #define virtqueue_clear_net_hdr(hdr) do { \ -- 2.28.0.windows.1