i40evf: fix panic during MTU change
authorMitch Williams <mitch.a.williams@intel.com>
Fri, 19 Jun 2015 15:56:30 +0000 (08:56 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 26 Jun 2015 09:51:31 +0000 (02:51 -0700)
commit67c818a1d58c7897b8a6f531684516f9c236fe1b
tree49083ecd685152bd7774a8ba95d155ac076997ad
parent352f8ead753402d6c0496cb83b902128925459eb
i40evf: fix panic during MTU change

Down was requesting queue disables, but then exited immediately
without waiting for the queues to actually disable.  This could
allow any function called after i40evf_down to run immediately,
including i40evf_up, and causes a memory leak.

Removing the whole reinit_locked function is the best way
to go about this, and allows for the driver to handle the
state changes by requesting reset from the periodic timer.

Also, add a couple WARN_ONs in slow path to help us recognize
if we re-introduce this issue or missed any cases.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40evf/i40e_txrx.c
drivers/net/ethernet/intel/i40evf/i40evf.h
drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c
drivers/net/ethernet/intel/i40evf/i40evf_main.c