]> www.infradead.org Git - users/jedix/linux-maple.git/commit
i40e/i40evf: don't lose interrupts
authorJesse Brandeburg <jesse.brandeburg@intel.com>
Thu, 14 Jan 2016 00:51:45 +0000 (16:51 -0800)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 10 Mar 2016 16:37:20 +0000 (08:37 -0800)
commitb929331c14e817622a40c5e9dd8a3dfd9d6c9538
tree54c5a54e14bd31515167d54b41351ef255fe65a7
parentcd8d5b3e0a2650a92952abbe00067649bad5a3d3
i40e/i40evf: don't lose interrupts

Orabug: 22342532

While re-enabling interrupts the driver would clear all pending
causes. This meant that if an interrupt was generated while the driver
was cleaning or polling with interrupts disabled, then that interrupt
was lost.  This could cause a queue to become dead, especially for
receive.  Refactored the enable_icr0 function in order to allow
it to be decided by the caller whether the CLEARPBA (clear pending
events) bit will be set while re-enabling the interrupt.

Also update copyright year in file headers.

Change-ID: Ic1db100a05e13c98919057696db147a258ca365a
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 40d72a50986271e5c30f111e08ebd6d846708bbc)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/net/ethernet/intel/i40e/i40e.h
drivers/net/ethernet/intel/i40e/i40e_main.c
drivers/net/ethernet/intel/i40e/i40e_txrx.c
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
drivers/net/ethernet/intel/i40evf/i40e_txrx.c