vfio: fix index for tracking devices in a group
authorAlejandro Lucero <alejandro.lucero@netronome.com>
Wed, 10 May 2017 08:54:23 +0000 (09:54 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 10 May 2017 13:33:50 +0000 (15:33 +0200)
commit810bfa64c673cd2842e0c765de3afccc583df619
tree279d8d8bb5850db51f50425eca6c25f039f2fd42
parent59ba1c5ae7cea61ae7d310414209d0e9172474d9
vfio: fix index for tracking devices in a group

Previous fix for properly handling devices from the same VFIO group
introduced another bug where the file descriptor of a kernel vfio
group is used as the index for tracking number of devices of a vfio
group struct handled by dpdk vfio code. Instead of the file
descriptor itself, the vfio group object that file descriptor is
registered with has to be used.

This patch introduces specific functions for incrementing or
decrementing the device counter for a specific vfio group using the
vfio file descriptor as a parameter. Note the code is not optimized
as the vfio group is found sequentially going through the vfio group
array but this should not be a problem as this is not related to
packet handling at all.

Fixes: a9c349e3a100 ("vfio: fix device unplug when several devices per group")

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
lib/librte_eal/linuxapp/eal/eal_vfio.c