|
@@ -330,6 +330,21 @@ static struct device_attribute *megaraid_sdev_attrs[] = {
|
|
|
NULL,
|
|
|
};
|
|
|
|
|
|
+/**
|
|
|
+ * megaraid_change_queue_depth - Change the device's queue depth
|
|
|
+ * @sdev: scsi device struct
|
|
|
+ * @qdepth: depth to set
|
|
|
+ *
|
|
|
+ * Return value:
|
|
|
+ * actual depth set
|
|
|
+ **/
|
|
|
+static int megaraid_change_queue_depth(struct scsi_device *sdev, int qdepth)
|
|
|
+{
|
|
|
+ if (qdepth > MBOX_MAX_SCSI_CMDS)
|
|
|
+ qdepth = MBOX_MAX_SCSI_CMDS;
|
|
|
+ scsi_adjust_queue_depth(sdev, 0, qdepth);
|
|
|
+ return sdev->queue_depth;
|
|
|
+}
|
|
|
|
|
|
/*
|
|
|
* Scsi host template for megaraid unified driver
|
|
@@ -343,6 +358,7 @@ static struct scsi_host_template megaraid_template_g = {
|
|
|
.eh_device_reset_handler = megaraid_reset_handler,
|
|
|
.eh_bus_reset_handler = megaraid_reset_handler,
|
|
|
.eh_host_reset_handler = megaraid_reset_handler,
|
|
|
+ .change_queue_depth = megaraid_change_queue_depth,
|
|
|
.use_clustering = ENABLE_CLUSTERING,
|
|
|
.sdev_attrs = megaraid_sdev_attrs,
|
|
|
.shost_attrs = megaraid_shost_attrs,
|