diff options
Diffstat (limited to 'drivers/net/ethernet/intel/iavf/iavf_virtchnl.c')
| -rw-r--r-- | drivers/net/ethernet/intel/iavf/iavf_virtchnl.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c b/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c index 7c0578b5457b..be3c007ce90a 100644 --- a/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c +++ b/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c @@ -1961,9 +1961,8 @@ void iavf_virtchnl_completion(struct iavf_adapter *adapter,  		case VIRTCHNL_EVENT_RESET_IMPENDING:  			dev_info(&adapter->pdev->dev, "Reset indication received from the PF\n");  			if (!(adapter->flags & IAVF_FLAG_RESET_PENDING)) { -				adapter->flags |= IAVF_FLAG_RESET_PENDING;  				dev_info(&adapter->pdev->dev, "Scheduling reset task\n"); -				queue_work(adapter->wq, &adapter->reset_task); +				iavf_schedule_reset(adapter, IAVF_FLAG_RESET_PENDING);  			}  			break;  		default: @@ -2237,6 +2236,7 @@ void iavf_virtchnl_completion(struct iavf_adapter *adapter,  		iavf_process_config(adapter);  		adapter->flags |= IAVF_FLAG_SETUP_NETDEV_FEATURES; +		iavf_schedule_finish_config(adapter);  		iavf_set_queue_vlan_tag_loc(adapter); @@ -2285,6 +2285,7 @@ void iavf_virtchnl_completion(struct iavf_adapter *adapter,  	case VIRTCHNL_OP_ENABLE_QUEUES:  		/* enable transmits */  		iavf_irq_enable(adapter, true); +		wake_up(&adapter->reset_waitqueue);  		adapter->flags &= ~IAVF_FLAG_QUEUES_DISABLED;  		break;  	case VIRTCHNL_OP_DISABLE_QUEUES:  |