> -----Original Message----- > From: Ferruh Yigit [mailto:ferruh.yi...@intel.com] > Sent: Tuesday, September 15, 2020 10:53 PM > To: wangyunjian <wangyunj...@huawei.com>; dev@dpdk.org > Cc: tho...@monjalon.net; Lilijun (Jerry) <jerry.lili...@huawei.com>; xudingke > <xudin...@huawei.com> > Subject: Re: [dpdk-dev] [PATCH] net/tap: release port upon close > > On 8/28/2020 1:37 PM, wangyunjian wrote: > > From: Yunjian Wang <wangyunj...@huawei.com> > > > > Set RTE_ETH_DEV_CLOSE_REMOVE upon probe so all the private resources > > for the port can be freed by rte_eth_dev_close(). > > > > Signed-off-by: Yunjian Wang <wangyunj...@huawei.com> > > <...> > > > @@ -1040,6 +1044,9 @@ tap_dev_close(struct rte_eth_dev *dev) > > struct pmd_process_private *process_private = dev->process_private; > > struct rx_queue *rxq; > > > > + if (process_private == NULL) > > + return; > > Why this check is required?
When user first call 'close()' and later call 'remove()' the tap PMD, in this case, the tap_dev_close() will be called twice. The second call of tap_dev_close() shouldn't do any process, we can use this check to return immediately. Thanks, Yunjian