On 26.8.2016 18:44, Don Brace wrote:
> From: Kevin Barnett <kevin.barn...@microsemi.com>
>
> Removed the workaround for the transition to spanning.
>
> Reviewed-by: Scott Teel <scott.t...@microsemi.com>
> Reviewed-by: Scott Benesh <scott.ben...@microsemi.com>
> Signed-off-by: Kevin Barnett <kevin.barn...@microsemi.com>
> Signed-off-by: Don Brace <don.br...@microsemi.com>
> ---
>  drivers/scsi/smartpqi/smartpqi_init.c |   38 
> +++++++++++++++++----------------
>  1 file changed, 20 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/scsi/smartpqi/smartpqi_init.c 
> b/drivers/scsi/smartpqi/smartpqi_init.c
> index 6eab38e..9922e31 100644
> --- a/drivers/scsi/smartpqi/smartpqi_init.c
> +++ b/drivers/scsi/smartpqi/smartpqi_init.c
> @@ -3663,6 +3663,18 @@ static int pqi_validate_device_capability(struct 
> pqi_ctrl_info *ctrl_info)
>               return -EINVAL;
>       }
>  
> +     if (!ctrl_info->inbound_spanning_supported) {
> +             dev_err(&ctrl_info->pci_dev->dev,
> +                     "the controller does not support inbound spanning\n");
> +             return -EINVAL;
> +     }
> +
> +     if (ctrl_info->outbound_spanning_supported) {
> +             dev_err(&ctrl_info->pci_dev->dev,
> +                     "the controller supports outbound spanning but this 
> driver does not\n");
> +             return -EINVAL;
> +     }
> +
>       return 0;
>  }

This looks like you are dropping support for a probably older firmware devices,
is that necessary - can't you continue a keep the support with something 
similar to that
'TEMPHACk' below ?

Tomas

>  
> @@ -4138,24 +4150,14 @@ static void pqi_calculate_queue_resources(struct 
> pqi_ctrl_info *ctrl_info)
>  
>       ctrl_info->num_queue_groups = num_queue_groups;
>  
> -     if (ctrl_info->max_inbound_iu_length_per_firmware == 256 &&
> -             ctrl_info->outbound_spanning_supported) {
> -             /*
> -              * TEMPHACK
> -              * This is older f/w that doesn't actually support spanning.
> -              */
> -             ctrl_info->max_inbound_iu_length =
> -                     PQI_OPERATIONAL_IQ_ELEMENT_LENGTH;
> -     } else {
> -             /*
> -              * Make sure that the max. inbound IU length is an even multiple
> -              * of our inbound element length.
> -              */
> -             ctrl_info->max_inbound_iu_length =
> -                     (ctrl_info->max_inbound_iu_length_per_firmware /
> -                     PQI_OPERATIONAL_IQ_ELEMENT_LENGTH) *
> -                     PQI_OPERATIONAL_IQ_ELEMENT_LENGTH;
> -     }
> +     /*
> +      * Make sure that the max. inbound IU length is an even multiple
> +      * of our inbound element length.
> +      */
> +     ctrl_info->max_inbound_iu_length =
> +             (ctrl_info->max_inbound_iu_length_per_firmware /
> +             PQI_OPERATIONAL_IQ_ELEMENT_LENGTH) *
> +             PQI_OPERATIONAL_IQ_ELEMENT_LENGTH;
>  
>       num_elements_per_iq =
>               (ctrl_info->max_inbound_iu_length /
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to