On 2015/03/19 0:19, David Marchand wrote: > On Tue, Mar 17, 2015 at 10:30 AM, Tetsuya Mukawa <mukawa at igel.co.jp > <mailto:mukawa at igel.co.jp>> wrote: > > When pci_uio_unmap_resource() is called, a file descriptor that is > used > for uio configuration should be closed. > > Signed-off-by: Tetsuya Mukawa <mukawa at igel.co.jp > <mailto:mukawa at igel.co.jp>> > --- > lib/librte_eal/linuxapp/eal/eal_pci_uio.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_uio.c > b/lib/librte_eal/linuxapp/eal/eal_pci_uio.c > index 9cdf24f..b971ec9 100644 > --- a/lib/librte_eal/linuxapp/eal/eal_pci_uio.c > +++ b/lib/librte_eal/linuxapp/eal/eal_pci_uio.c > @@ -459,8 +459,14 @@ pci_uio_unmap_resource(struct rte_pci_device > *dev) > > /* close fd if in primary process */ > close(dev->intr_handle.fd); > - > dev->intr_handle.fd = -1; > + > + /* close cfg_fd if in primary process */ > > + if (dev->intr_handle.uio_cfg_fd >= 0) { > + close(dev->intr_handle.uio_cfg_fd); > + dev->intr_handle.uio_cfg_fd = -1; > + } > + > dev->intr_handle.type = RTE_INTR_HANDLE_UNKNOWN; > } > #endif /* RTE_LIBRTE_EAL_HOTPLUG */ > > > Hum, why check for < 0 value ? > There is no such check for intr_handle.fd and I can see no reason why > we should behave differently. >
Hi David, There is a reason, but 'if-condition' should move to later patch. When we move this function to eal common, bsdapp will not use cfg_fd at all. (Nic uio of BSD will not use this file descriptor.) So I added the 'if-condition' like above. But, I will move this fixing in later patch that actually consolidate this function. Thanks, Tetsuya > > -- > David Marchand