[dpdk-dev,2/2] igb: fix vfio ioctl SET_IRQS error

Message ID 1447383027-11140-2-git-send-email-cunming.liang@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Cunming Liang Nov. 13, 2015, 2:50 a.m. UTC
  The vector number may change during 'dev_start'. Before enabling a new vector mapping,
it's necessary to disable/unmap the previous setting.

Fixes: fe685de2b1b6 ("igb: fix VF start with PF stopped")

Reported-by: Yong Liu <yong.liu@intel.com>
Signed-off-by: Cunming Liang <cunming.liang@intel.com>
---
 drivers/net/e1000/igb_ethdev.c | 3 +++
 1 file changed, 3 insertions(+)
  

Comments

Wenzhuo Lu Nov. 17, 2015, 2:31 a.m. UTC | #1
Hi,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Cunming Liang
> Sent: Friday, November 13, 2015 10:50 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH 2/2] igb: fix vfio ioctl SET_IRQS error
> 
> The vector number may change during 'dev_start'. Before enabling a new
> vector mapping, it's necessary to disable/unmap the previous setting.
> 
> Fixes: fe685de2b1b6 ("igb: fix VF start with PF stopped")
> 
> Reported-by: Yong Liu <yong.liu@intel.com>
> Signed-off-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
  
Thomas Monjalon Nov. 24, 2015, 1:39 p.m. UTC | #2
> > The vector number may change during 'dev_start'. Before enabling a new
> > vector mapping, it's necessary to disable/unmap the previous setting.
> > 
> > Fixes: fe685de2b1b6 ("igb: fix VF start with PF stopped")
> > 
> > Reported-by: Yong Liu <yong.liu@intel.com>
> > Signed-off-by: Cunming Liang <cunming.liang@intel.com>
> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>

Series applied, thanks
  

Patch

diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index 4bf4e52..c61ceab 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -1092,6 +1092,9 @@  eth_igb_start(struct rte_eth_dev *dev)
 
 	PMD_INIT_FUNC_TRACE();
 
+	/* disable uio/vfio intr/eventfd mapping */
+	rte_intr_disable(intr_handle);
+
 	/* Power up the phy. Needed to make the link go Up */
 	e1000_power_up_phy(hw);