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;
}
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 /