Re: [PATCH 03/17] smartpqi: simplify spanning

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 26.8.2016 18:44, Don Brace wrote:
> From: Kevin Barnett <kevin.barnett@xxxxxxxxxxxxx>
>
> Removed the workaround for the transition to spanning.
>
> Reviewed-by: Scott Teel <scott.teel@xxxxxxxxxxxxx>
> Reviewed-by: Scott Benesh <scott.benesh@xxxxxxxxxxxxx>
> Signed-off-by: Kevin Barnett <kevin.barnett@xxxxxxxxxxxxx>
> Signed-off-by: Don Brace <don.brace@xxxxxxxxxxxxx>
> ---
>  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 majordomo@xxxxxxxxxxxxxxx
> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux