Merge tag 'master-2014-12-08' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil...
[cascardo/linux.git] / drivers / net / ethernet / intel / i40evf / i40evf_virtchnl.c
index 49bfdb5..5fde5a7 100644 (file)
@@ -92,8 +92,8 @@ int i40evf_verify_api_ver(struct i40evf_adapter *adapter)
        enum i40e_virtchnl_ops op;
        i40e_status err;
 
-       event.msg_size = I40EVF_MAX_AQ_BUF_SIZE;
-       event.msg_buf = kzalloc(event.msg_size, GFP_KERNEL);
+       event.buf_len = I40EVF_MAX_AQ_BUF_SIZE;
+       event.msg_buf = kzalloc(event.buf_len, GFP_KERNEL);
        if (!event.msg_buf) {
                err = -ENOMEM;
                goto out;
@@ -169,15 +169,14 @@ int i40evf_get_vf_config(struct i40evf_adapter *adapter)
 
        len =  sizeof(struct i40e_virtchnl_vf_resource) +
                I40E_MAX_VF_VSI * sizeof(struct i40e_virtchnl_vsi_resource);
-       event.msg_size = len;
-       event.msg_buf = kzalloc(event.msg_size, GFP_KERNEL);
+       event.buf_len = len;
+       event.msg_buf = kzalloc(event.buf_len, GFP_KERNEL);
        if (!event.msg_buf) {
                err = -ENOMEM;
                goto out;
        }
 
        while (1) {
-               event.msg_size = len;
                /* When the AQ is empty, i40evf_clean_arq_element will return
                 * nonzero and this loop will terminate.
                 */
@@ -191,7 +190,7 @@ int i40evf_get_vf_config(struct i40evf_adapter *adapter)
        }
 
        err = (i40e_status)le32_to_cpu(event.desc.cookie_low);
-       memcpy(adapter->vf_res, event.msg_buf, min(event.msg_size, len));
+       memcpy(adapter->vf_res, event.msg_buf, min(event.msg_len, len));
 
        i40e_vf_parse_hw_config(hw, adapter->vf_res);
 out_alloc:
@@ -396,7 +395,7 @@ void i40evf_add_ether_addrs(struct i40evf_adapter *adapter)
              (count * sizeof(struct i40e_virtchnl_ether_addr));
        if (len > I40EVF_MAX_AQ_BUF_SIZE) {
                dev_warn(&adapter->pdev->dev, "%s: Too many MAC address changes in one request\n",
-                       __func__);
+                        __func__);
                count = (I40EVF_MAX_AQ_BUF_SIZE -
                         sizeof(struct i40e_virtchnl_ether_addr_list)) /
                        sizeof(struct i40e_virtchnl_ether_addr);
@@ -457,7 +456,7 @@ void i40evf_del_ether_addrs(struct i40evf_adapter *adapter)
              (count * sizeof(struct i40e_virtchnl_ether_addr));
        if (len > I40EVF_MAX_AQ_BUF_SIZE) {
                dev_warn(&adapter->pdev->dev, "%s: Too many MAC address changes in one request\n",
-                       __func__);
+                        __func__);
                count = (I40EVF_MAX_AQ_BUF_SIZE -
                         sizeof(struct i40e_virtchnl_ether_addr_list)) /
                        sizeof(struct i40e_virtchnl_ether_addr);
@@ -519,7 +518,7 @@ void i40evf_add_vlans(struct i40evf_adapter *adapter)
              (count * sizeof(u16));
        if (len > I40EVF_MAX_AQ_BUF_SIZE) {
                dev_warn(&adapter->pdev->dev, "%s: Too many VLAN changes in one request\n",
-                       __func__);
+                        __func__);
                count = (I40EVF_MAX_AQ_BUF_SIZE -
                         sizeof(struct i40e_virtchnl_vlan_filter_list)) /
                        sizeof(u16);
@@ -579,7 +578,7 @@ void i40evf_del_vlans(struct i40evf_adapter *adapter)
              (count * sizeof(u16));
        if (len > I40EVF_MAX_AQ_BUF_SIZE) {
                dev_warn(&adapter->pdev->dev, "%s: Too many VLAN changes in one request\n",
-                       __func__);
+                        __func__);
                count = (I40EVF_MAX_AQ_BUF_SIZE -
                         sizeof(struct i40e_virtchnl_vlan_filter_list)) /
                        sizeof(u16);
@@ -638,6 +637,7 @@ void i40evf_set_promiscuous(struct i40evf_adapter *adapter, int flags)
 void i40evf_request_stats(struct i40evf_adapter *adapter)
 {
        struct i40e_virtchnl_queue_select vqs;
+
        if (adapter->current_op != I40E_VIRTCHNL_OP_UNKNOWN) {
                /* no error message, this isn't crucial */
                return;
@@ -712,19 +712,12 @@ void i40evf_virtchnl_completion(struct i40evf_adapter *adapter,
                                "%s: Unknown event %d from pf\n",
                                __func__, vpe->event);
                        break;
-
                }
                return;
        }
-       if (v_opcode != adapter->current_op) {
-               dev_err(&adapter->pdev->dev, "%s: Pending op is %d, received %d\n",
-                       __func__, adapter->current_op, v_opcode);
-               /* We're probably completely screwed at this point, but clear
-                * the current op and try to carry on....
-                */
-               adapter->current_op = I40E_VIRTCHNL_OP_UNKNOWN;
-               return;
-       }
+       if (v_opcode != adapter->current_op)
+               dev_info(&adapter->pdev->dev, "Pending op is %d, received %d\n",
+                        adapter->current_op, v_opcode);
        if (v_retval) {
                dev_err(&adapter->pdev->dev, "%s: PF returned error %d to our request %d\n",
                        __func__, v_retval, v_opcode);
@@ -776,8 +769,8 @@ void i40evf_virtchnl_completion(struct i40evf_adapter *adapter,
                adapter->aq_pending &= ~(I40EVF_FLAG_AQ_MAP_VECTORS);
                break;
        default:
-               dev_warn(&adapter->pdev->dev, "%s: Received unexpected message %d from PF\n",
-                       __func__, v_opcode);
+               dev_info(&adapter->pdev->dev, "Received unexpected message %d from PF\n",
+                        v_opcode);
                break;
        } /* switch v_opcode */
        adapter->current_op = I40E_VIRTCHNL_OP_UNKNOWN;