On 01/18/2018 04:27 PM, John Allen wrote:
> If we request an unsupported mtu value, the vnic server will suggest a
> different value. Currently we take the suggested value without question
> and login with that value. However, the behavior doesn't seem completely
> sane as attempting to change the mtu to some specific value will change
> the mtu to some completely different value most of the time. This patch
> fixes the issue by logging in with the previously used mtu value and
> printing an error message saying that the given mtu is unsupported.
> 
> Signed-off-by: John Allen <jal...@linux.vnet.ibm.com>

Reviewed-by: Nathan Fontenot <nf...@linux.vnet.ibm.com>

> ---
> diff --git a/drivers/net/ethernet/ibm/ibmvnic.c 
> b/drivers/net/ethernet/ibm/ibmvnic.c
> index f8f1396..bb56460 100644
> --- a/drivers/net/ethernet/ibm/ibmvnic.c
> +++ b/drivers/net/ethernet/ibm/ibmvnic.c
> @@ -3608,7 +3608,17 @@ static void handle_request_cap_rsp(union ibmvnic_crq 
> *crq,
>                        *req_value,
>                        (long int)be64_to_cpu(crq->request_capability_rsp.
>                                              number), name);
> -             *req_value = be64_to_cpu(crq->request_capability_rsp.number);
> +
> +             if (be16_to_cpu(crq->request_capability_rsp.capability) ==
> +                 REQ_MTU) {
> +                     pr_err("mtu of %llu is not supported. Reverting.\n",
> +                            *req_value);
> +                     *req_value = adapter->fallback.mtu;
> +             } else {
> +                     *req_value =
> +                             be64_to_cpu(crq->request_capability_rsp.number);
> +             }
> +
>               ibmvnic_send_req_caps(adapter, 1);
>               return;
>       default:
> 

Reply via email to