dev_handlers: Fix multiple checkpatch warnings

This patch does not change any functionality.
This commit is contained in:
Gleb Chesnokov
2024-12-28 14:59:04 +03:00
parent 9082b4e82a
commit ce31d4b126
8 changed files with 121 additions and 183 deletions
+14 -22
View File
@@ -67,9 +67,8 @@ static int cdrom_attach(struct scst_device *dev)
TRACE_ENTRY();
if (dev->scsi_dev == NULL ||
dev->scsi_dev->type != dev->type) {
PRINT_ERROR("%s", "SCSI device not define or illegal type");
if (!dev->scsi_dev || dev->scsi_dev->type != dev->type) {
PRINT_ERROR("SCSI device not define or illegal type");
res = -ENODEV;
goto out;
}
@@ -77,7 +76,7 @@ static int cdrom_attach(struct scst_device *dev)
buffer = kmalloc(buffer_size, GFP_KERNEL);
if (!buffer) {
PRINT_ERROR("Buffer memory allocation (size %d) failure",
buffer_size);
buffer_size);
res = -ENOMEM;
goto out;
}
@@ -92,22 +91,20 @@ static int cdrom_attach(struct scst_device *dev)
memset(buffer, 0, buffer_size);
memset(sense_buffer, 0, sizeof(sense_buffer));
TRACE_DBG("%s", "Doing READ_CAPACITY");
TRACE_DBG("Doing READ_CAPACITY");
rc = scst_scsi_execute_cmd(dev->scsi_dev, cmd, DMA_FROM_DEVICE,
buffer, buffer_size, sense_buffer,
SCST_GENERIC_CDROM_REG_TIMEOUT, 3, 0);
TRACE_DBG("READ_CAPACITY done: %x", rc);
if ((rc == 0) ||
!scst_analyze_sense(sense_buffer,
sizeof(sense_buffer), SCST_SENSE_KEY_VALID,
UNIT_ATTENTION, 0, 0))
if (rc == 0 || !scst_analyze_sense(sense_buffer, sizeof(sense_buffer),
SCST_SENSE_KEY_VALID, UNIT_ATTENTION, 0, 0))
break;
if (!--retries) {
PRINT_ERROR("UA not cleared after %d retries",
SCST_DEV_RETRIES_ON_UA);
SCST_DEV_RETRIES_ON_UA);
dev->block_shift = CDROM_DEF_BLOCK_SHIFT;
res = -ENODEV;
goto out_free_buf;
@@ -122,7 +119,7 @@ static int cdrom_attach(struct scst_device *dev)
else
dev->block_shift = scst_calc_block_shift(sector_size);
TRACE_DBG("Sector size is %i scsi_level %d(SCSI_2 %d)",
sector_size, dev->scsi_dev->scsi_level, SCSI_2);
sector_size, dev->scsi_dev->scsi_level, SCSI_2);
if (dev->block_shift < 9) {
PRINT_ERROR("READ CAPACITY reported an invalid sector size: %d",
sector_size);
@@ -131,17 +128,17 @@ static int cdrom_attach(struct scst_device *dev)
}
} else {
dev->block_shift = CDROM_DEF_BLOCK_SHIFT;
TRACE(TRACE_MINOR, "Read capacity failed: %x, using default "
"sector size %d", rc, dev->block_shift);
PRINT_BUFF_FLAG(TRACE_MINOR, "Returned sense", sense_buffer,
sizeof(sense_buffer));
TRACE(TRACE_MINOR, "Read capacity failed: %x, using default sector size %d",
rc, dev->block_shift);
PRINT_BUFF_FLAG(TRACE_MINOR, "Returned sense",
sense_buffer, sizeof(sense_buffer));
}
dev->block_size = 1 << dev->block_shift;
res = scst_obtain_device_parameters(dev, NULL);
if (res != 0) {
PRINT_ERROR("Failed to obtain control parameters for device "
"%s", dev->virt_name);
PRINT_ERROR("Failed to obtain control parameters for device %s",
dev->virt_name);
goto out_free_buf;
}
@@ -156,7 +153,6 @@ out:
static void cdrom_detach(struct scst_device *dev)
{
/* Nothing to do */
return;
}
static int cdrom_parse(struct scst_cmd *cmd)
@@ -191,7 +187,6 @@ static void cdrom_set_block_shift(struct scst_cmd *cmd, int block_shift)
dev->block_shift = new_block_shift;
dev->block_size = 1 << dev->block_shift;
}
return;
}
static int cdrom_done(struct scst_cmd *cmd)
@@ -218,11 +213,9 @@ static int __init cdrom_init(void)
if (res < 0)
goto out;
out:
TRACE_EXIT();
return res;
}
static void __exit cdrom_exit(void)
@@ -230,7 +223,6 @@ static void __exit cdrom_exit(void)
TRACE_ENTRY();
scst_unregister_dev_driver(&cdrom_devtype);
TRACE_EXIT();
return;
}
module_init(cdrom_init);
+8 -12
View File
@@ -62,9 +62,8 @@ static int changer_attach(struct scst_device *dev)
TRACE_ENTRY();
if (dev->scsi_dev == NULL ||
dev->scsi_dev->type != dev->type) {
PRINT_ERROR("%s", "SCSI device not define or illegal type");
if (!dev->scsi_dev || dev->scsi_dev->type != dev->type) {
PRINT_ERROR("SCSI device not define or illegal type");
res = -ENODEV;
goto out;
}
@@ -74,16 +73,16 @@ static int changer_attach(struct scst_device *dev)
* of the other stuff
*/
if (dev->scsi_dev->sdev_state == SDEV_OFFLINE) {
TRACE_DBG("%s", "Device is offline");
TRACE_DBG("Device is offline");
res = -ENODEV;
goto out;
}
retries = SCST_DEV_RETRIES_ON_UA;
do {
TRACE_DBG("%s", "Doing TEST_UNIT_READY");
rc = scsi_test_unit_ready(dev->scsi_dev,
SCST_GENERIC_CHANGER_TIMEOUT, CHANGER_RETRIES, NULL);
TRACE_DBG("Doing TEST_UNIT_READY");
rc = scsi_test_unit_ready(dev->scsi_dev, SCST_GENERIC_CHANGER_TIMEOUT,
CHANGER_RETRIES, NULL);
TRACE_DBG("TEST_UNIT_READY done: %x", rc);
} while ((--retries > 0) && rc);
@@ -94,8 +93,8 @@ static int changer_attach(struct scst_device *dev)
res = scst_obtain_device_parameters(dev, NULL);
if (res != 0) {
PRINT_ERROR("Failed to obtain control parameters for device "
"%s", dev->virt_name);
PRINT_ERROR("Failed to obtain control parameters for device %s",
dev->virt_name);
goto out;
}
@@ -110,7 +109,6 @@ void changer_detach(struct scst_device *dev)
TRACE_ENTRY();
TRACE_EXIT();
return;
}
#endif
@@ -167,7 +165,6 @@ static int __init changer_init(void)
if (res < 0)
goto out;
out:
TRACE_EXIT_RES(res);
return res;
@@ -178,7 +175,6 @@ static void __exit changer_exit(void)
TRACE_ENTRY();
scst_unregister_dev_driver(&changer_devtype);
TRACE_EXIT();
return;
}
module_init(changer_init);
-2
View File
@@ -26,8 +26,6 @@
static unsigned long dh_trace_flag = SCST_DEFAULT_DEV_LOG_FLAGS;
#define trace_flag dh_trace_flag
#endif /* defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING) */
#endif /* __SCST_DEV_HANDLER_H */
+47 -69
View File
@@ -52,9 +52,8 @@ static int disk_attach(struct scst_device *dev)
TRACE_ENTRY();
if (dev->scsi_dev == NULL ||
dev->scsi_dev->type != dev->type) {
PRINT_ERROR("%s", "SCSI device not define or illegal type");
if (!dev->scsi_dev || dev->scsi_dev->type != dev->type) {
PRINT_ERROR("SCSI device not define or illegal type");
res = -ENODEV;
goto out;
}
@@ -62,7 +61,7 @@ static int disk_attach(struct scst_device *dev)
buffer = kmalloc(buffer_size, GFP_KERNEL);
if (!buffer) {
PRINT_ERROR("Buffer memory allocation (size %d) failure",
buffer_size);
buffer_size);
res = -ENOMEM;
goto out;
}
@@ -77,21 +76,19 @@ static int disk_attach(struct scst_device *dev)
memset(buffer, 0, buffer_size);
memset(sense_buffer, 0, sizeof(sense_buffer));
TRACE_DBG("%s", "Doing READ_CAPACITY");
TRACE_DBG("Doing READ_CAPACITY");
rc = scst_scsi_execute_cmd(dev->scsi_dev, cmd, DMA_FROM_DEVICE,
buffer, buffer_size, sense_buffer,
SCST_GENERIC_DISK_REG_TIMEOUT, 3, 0);
TRACE_DBG("READ_CAPACITY done: %x", rc);
if ((rc == 0) ||
!scst_analyze_sense(sense_buffer,
sizeof(sense_buffer), SCST_SENSE_KEY_VALID,
UNIT_ATTENTION, 0, 0))
if (rc == 0 || !scst_analyze_sense(sense_buffer, sizeof(sense_buffer),
SCST_SENSE_KEY_VALID, UNIT_ATTENTION, 0, 0))
break;
if (!--retries) {
PRINT_ERROR("UA not clear after %d retries",
SCST_DEV_RETRIES_ON_UA);
SCST_DEV_RETRIES_ON_UA);
res = -ENODEV;
goto out_free_buf;
}
@@ -111,10 +108,10 @@ static int disk_attach(struct scst_device *dev)
}
} else {
dev->block_shift = DISK_DEF_BLOCK_SHIFT;
TRACE(TRACE_MINOR, "Read capacity failed: %x, using default "
"sector size %d", rc, dev->block_shift);
PRINT_BUFF_FLAG(TRACE_MINOR, "Returned sense", sense_buffer,
sizeof(sense_buffer));
TRACE(TRACE_MINOR, "Read capacity failed: %x, using default sector size %d",
rc, dev->block_shift);
PRINT_BUFF_FLAG(TRACE_MINOR, "Returned sense",
sense_buffer, sizeof(sense_buffer));
}
dev->block_size = 1 << dev->block_shift;
@@ -133,55 +130,51 @@ static int disk_attach(struct scst_device *dev)
memset(buffer, 0, buffer_size);
memset(sense_buffer, 0, sizeof(sense_buffer));
TRACE_DBG("%s", "Doing INQUIRY (Unit Serial Number VPD)");
TRACE_DBG("Doing INQUIRY (Unit Serial Number VPD)");
rc = scst_scsi_execute_cmd(dev->scsi_dev, cmd, DMA_FROM_DEVICE,
buffer, buffer_size, sense_buffer,
SCST_GENERIC_DISK_REG_TIMEOUT, 3, 0);
TRACE_DBG("INQUIRY (Unit Serial Number VPD) done: %x", rc);
if ((rc == 0) ||
!scst_analyze_sense(sense_buffer,
sizeof(sense_buffer), SCST_SENSE_KEY_VALID,
UNIT_ATTENTION, 0, 0))
if (rc == 0 || !scst_analyze_sense(sense_buffer, sizeof(sense_buffer),
SCST_SENSE_KEY_VALID, UNIT_ATTENTION, 0, 0))
break;
if (!--retries) {
PRINT_WARNING("UA not clear after %d retries",
SCST_DEV_RETRIES_ON_UA);
SCST_DEV_RETRIES_ON_UA);
goto no_serial;
}
}
if (rc == 0) {
int32_t serial_length;
serial_length = get_unaligned_be16(&buffer[2]);
int32_t serial_length = get_unaligned_be16(&buffer[2]);
/*
* Since we only need the serial number we'll
* store directly in dh_priv. Failure is OK.
*/
dev->dh_priv = kzalloc(serial_length+1, GFP_KERNEL);
dev->dh_priv = kzalloc(serial_length + 1, GFP_KERNEL);
if (!dev->dh_priv) {
PRINT_ERROR("Buffer memory allocation (size %d) failure",
serial_length+1);
serial_length + 1);
} else {
memcpy(dev->dh_priv, &buffer[4], serial_length);
PRINT_INFO("%s: Obtained serial number: %s",
dev->virt_name, (char *)dev->dh_priv);
}
} else {
PRINT_WARNING("Failed to obtain serial number for device "
"%s", dev->virt_name);
PRINT_WARNING("Failed to obtain serial number for device %s",
dev->virt_name);
}
no_serial:
res = scst_obtain_device_parameters(dev, NULL);
if (res != 0) {
PRINT_ERROR("Failed to obtain control parameters for device "
"%s", dev->virt_name);
if (dev->dh_priv) {
kfree(dev->dh_priv);
dev->dh_priv = NULL;
}
PRINT_ERROR("Failed to obtain control parameters for device %s",
dev->virt_name);
kfree(dev->dh_priv);
dev->dh_priv = NULL;
goto out_free_buf;
}
@@ -199,7 +192,6 @@ static void disk_detach(struct scst_device *dev)
scst_pr_set_cluster_mode(dev, false, dev->dh_priv);
kfree(dev->dh_priv);
}
return;
}
static int disk_parse(struct scst_cmd *cmd)
@@ -218,8 +210,8 @@ static int disk_parse(struct scst_cmd *cmd)
case COMPARE_AND_WRITE:
case EXTENDED_COPY:
case RECEIVE_COPY_RESULTS:
TRACE_DBG("Clearing LOCAL CMD flag for cmd %p "
"(op %s)", cmd, cmd->op_name);
TRACE_DBG("Clearing LOCAL CMD flag for cmd %p (op %s)",
cmd, cmd->op_name);
cmd->op_flags &= ~SCST_LOCAL_CMD;
break;
}
@@ -247,7 +239,6 @@ static void disk_set_block_shift(struct scst_cmd *cmd, int block_shift)
dev->block_shift = new_block_shift;
dev->block_size = 1 << dev->block_shift;
}
return;
}
static int disk_done(struct scst_cmd *cmd)
@@ -310,7 +301,6 @@ static void disk_restore_sg(struct disk_work *work)
scst_set_cdb_transf_len(work->cmd, work->save_len);
work->cmd->sg = work->save_sg;
work->cmd->sg_cnt = work->save_sg_cnt;
return;
}
static void disk_cmd_done(void *data, char *sense, int result, int resid)
@@ -320,7 +310,7 @@ static void disk_cmd_done(void *data, char *sense, int result, int resid)
TRACE_ENTRY();
TRACE_DBG("work %p, cmd %p, left %d, result %d, sense %p, resid %d",
work, work->cmd, work->left, result, sense, resid);
work, work->cmd, work->left, result, sense, resid);
WARN_ON_ONCE(IS_ERR_VALUE((long)result));
@@ -337,7 +327,6 @@ out_complete:
complete_all(&work->disk_work_cmpl);
TRACE_EXIT();
return;
}
/* Executes command and split CDB, if necessary */
@@ -364,7 +353,7 @@ static enum scst_exec_res disk_exec(struct scst_cmd *cmd)
case RELEASE:
case RELEASE_10:
TRACE_DBG("Skipping LOCAL cmd %p (op %s)",
cmd, cmd->op_name);
cmd, cmd->op_name);
goto out_done;
case PERSISTENT_RESERVE_IN:
case PERSISTENT_RESERVE_OUT:
@@ -396,10 +385,9 @@ static enum scst_exec_res disk_exec(struct scst_cmd *cmd)
if (unlikely((cmd->bufflen >> block_shift) > max_sectors)) {
if ((cmd->out_bufflen >> block_shift) > max_sectors) {
PRINT_ERROR("Too limited max_sectors %d for "
"bidirectional cmd %p (op %s, out_bufflen %d)",
max_sectors, cmd, scst_get_opcode_name(cmd),
cmd->out_bufflen);
PRINT_ERROR("Too limited max_sectors %d for bidirectional cmd %p (op %s, out_bufflen %d)",
max_sectors, cmd, scst_get_opcode_name(cmd),
cmd->out_bufflen);
/* Let lower level handle it */
res = SCST_EXEC_NOT_COMPLETED;
goto out;
@@ -435,11 +423,10 @@ split:
cmd->host_status = DID_OK;
cmd->driver_status = 0;
TRACE_DBG("cmd %p, save_sg %p, save_sg_cnt %d, save_lba %lld, "
"save_len %d (sg_tablesize %d, max_sectors %d, block_shift %d, "
"sizeof(*sg) 0x%zx)", cmd, work.save_sg, work.save_sg_cnt,
(unsigned long long)work.save_lba, work.save_len,
sg_tablesize, max_sectors, block_shift, sizeof(*sg));
TRACE_DBG("cmd %p, save_sg %p, save_sg_cnt %d, save_lba %lld, save_len %d (sg_tablesize %d, max_sectors %d, block_shift %d, sizeof(*sg) 0x%zx)",
cmd, work.save_sg, work.save_sg_cnt,
(unsigned long long)work.save_lba, work.save_len,
sg_tablesize, max_sectors, block_shift, sizeof(*sg));
/*
* If we submit all chunks async'ly, it will be very not trivial what
@@ -470,14 +457,11 @@ split:
cur_len += l;
cur_sg_cnt++;
TRACE_DBG("l %d, j %d, num %d, offset %d, cur_len %d, "
"cur_sg_cnt %d, start_sg %p", l, j, num, offset,
cur_len, cur_sg_cnt, start_sg);
TRACE_DBG("l %d, j %d, num %d, offset %d, cur_len %d, cur_sg_cnt %d, start_sg %p",
l, j, num, offset, cur_len, cur_sg_cnt, start_sg);
if (((num % sg_tablesize) == 0) ||
(num == work.save_sg_cnt) ||
(cur_len >= max_sectors)) {
TRACE_DBG("%s", "Execing...");
if (num % sg_tablesize == 0 || num == work.save_sg_cnt || cur_len >= max_sectors) {
TRACE_DBG("Execing...");
scst_set_cdb_lba(work.cmd, work.save_lba + offset);
scst_set_cdb_transf_len(work.cmd, cur_len);
@@ -504,7 +488,7 @@ split:
offset += cur_len;
cur_len = 0;
cur_sg_cnt = 0;
start_sg = &sg[j+1];
start_sg = &sg[j + 1];
if (num == work.save_sg_cnt)
break;
@@ -535,7 +519,6 @@ out_error:
goto out_done;
}
static enum scst_exec_res disk_perf_exec(struct scst_cmd *cmd)
{
enum scst_exec_res res;
@@ -576,8 +559,8 @@ out_complete:
goto out;
}
static ssize_t disk_sysfs_cluster_mode_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buf)
static ssize_t disk_sysfs_cluster_mode_show(struct kobject *kobj, struct kobj_attribute *attr,
char *buf)
{
struct scst_device *dev = container_of(kobj, struct scst_device,
dev_kobj);
@@ -587,8 +570,7 @@ static ssize_t disk_sysfs_cluster_mode_show(struct kobject *kobj,
SCST_SYSFS_KEY_MARK "\n" : "");
}
static int disk_sysfs_process_cluster_mode_store(
struct scst_sysfs_work_item *work)
static int disk_sysfs_process_cluster_mode_store(struct scst_sysfs_work_item *work)
{
struct scst_device *dev = work->dev;
long clm;
@@ -635,8 +617,8 @@ out:
return res;
}
static ssize_t disk_sysfs_cluster_mode_store(struct kobject *kobj,
struct kobj_attribute *attr, const char *buf, size_t count)
static ssize_t disk_sysfs_cluster_mode_store(struct kobject *kobj, struct kobj_attribute *attr,
const char *buf, size_t count)
{
struct scst_device *dev = container_of(kobj, struct scst_device,
dev_kobj);
@@ -681,8 +663,7 @@ out:
}
static struct kobj_attribute disk_cluster_mode_attr =
__ATTR(cluster_mode, S_IWUSR|S_IRUGO, disk_sysfs_cluster_mode_show,
disk_sysfs_cluster_mode_store);
__ATTR(cluster_mode, 0644, disk_sysfs_cluster_mode_show, disk_sysfs_cluster_mode_store);
static const struct attribute *disk_attrs[] = {
&disk_cluster_mode_attr.attr,
@@ -743,12 +724,10 @@ static int __init init_scst_disk_driver(void)
if (res < 0)
goto out_unreg;
out:
TRACE_EXIT_RES(res);
return res;
out_unreg:
scst_unregister_dev_driver(&disk_devtype);
goto out;
@@ -762,7 +741,6 @@ static void __exit exit_scst_disk_driver(void)
scst_unregister_dev_driver(&disk_devtype);
TRACE_EXIT();
return;
}
module_init(init_scst_disk_driver);
+14 -21
View File
@@ -96,12 +96,10 @@ static int __init init_scst_modisk_driver(void)
if (res < 0)
goto out_unreg;
out:
TRACE_EXIT_RES(res);
return res;
out_unreg:
scst_unregister_dev_driver(&modisk_devtype);
goto out;
@@ -115,7 +113,6 @@ static void __exit exit_scst_modisk_driver(void)
scst_unregister_dev_driver(&modisk_devtype);
TRACE_EXIT();
return;
}
module_init(init_scst_modisk_driver);
@@ -132,9 +129,8 @@ static int modisk_attach(struct scst_device *dev)
TRACE_ENTRY();
if (dev->scsi_dev == NULL ||
dev->scsi_dev->type != dev->type) {
PRINT_ERROR("%s", "SCSI device not define or illegal type");
if (!dev->scsi_dev || dev->scsi_dev->type != dev->type) {
PRINT_ERROR("SCSI device not define or illegal type");
res = -ENODEV;
goto out;
}
@@ -147,7 +143,7 @@ static int modisk_attach(struct scst_device *dev)
* of the other stuff
*/
if (dev->scsi_dev->sdev_state == SDEV_OFFLINE) {
TRACE_DBG("%s", "Device is offline");
TRACE_DBG("Device is offline");
res = -ENODEV;
goto out;
}
@@ -155,7 +151,7 @@ static int modisk_attach(struct scst_device *dev)
buffer = kmalloc(buffer_size, GFP_KERNEL);
if (!buffer) {
PRINT_ERROR("Buffer memory allocation (size %d) failure",
buffer_size);
buffer_size);
res = -ENOMEM;
goto out;
}
@@ -173,16 +169,15 @@ static int modisk_attach(struct scst_device *dev)
memset(buffer, 0, buffer_size);
memset(sense_buffer, 0, sizeof(sense_buffer));
TRACE_DBG("%s", "Doing READ_CAPACITY");
TRACE_DBG("Doing READ_CAPACITY");
rc = scst_scsi_execute_cmd(dev->scsi_dev, cmd, DMA_FROM_DEVICE,
buffer, buffer_size, sense_buffer,
SCST_GENERIC_MODISK_REG_TIMEOUT, 3, 0);
TRACE_DBG("READ_CAPACITY done: %x", rc);
if (!rc || !scst_analyze_sense(sense_buffer,
sizeof(sense_buffer), SCST_SENSE_KEY_VALID,
UNIT_ATTENTION, 0, 0))
if (!rc || !scst_analyze_sense(sense_buffer, sizeof(sense_buffer),
SCST_SENSE_KEY_VALID, UNIT_ATTENTION, 0, 0))
break;
if (!--retries) {
@@ -201,7 +196,7 @@ static int modisk_attach(struct scst_device *dev)
else
dev->block_shift = scst_calc_block_shift(sector_size);
TRACE_DBG("Sector size is %i scsi_level %d(SCSI_2 %d)",
sector_size, dev->scsi_dev->scsi_level, SCSI_2);
sector_size, dev->scsi_dev->scsi_level, SCSI_2);
if (dev->block_shift < 9) {
PRINT_ERROR("READ CAPACITY reported an invalid sector size: %d",
sector_size);
@@ -210,17 +205,17 @@ static int modisk_attach(struct scst_device *dev)
}
} else {
dev->block_shift = MODISK_DEF_BLOCK_SHIFT;
TRACE(TRACE_MINOR, "Read capacity failed: %x, using default "
"sector size %d", rc, dev->block_shift);
PRINT_BUFF_FLAG(TRACE_MINOR, "Returned sense", sense_buffer,
sizeof(sense_buffer));
TRACE(TRACE_MINOR, "Read capacity failed: %x, using default sector size %d",
rc, dev->block_shift);
PRINT_BUFF_FLAG(TRACE_MINOR, "Returned sense",
sense_buffer, sizeof(sense_buffer));
}
dev->block_size = 1 << dev->block_shift;
res = scst_obtain_device_parameters(dev, NULL);
if (res != 0) {
PRINT_ERROR("Failed to obtain control parameters for device "
"%s: %x", dev->virt_name, res);
PRINT_ERROR("Failed to obtain control parameters for device %s: %x",
dev->virt_name, res);
goto out_free_buf;
}
@@ -235,7 +230,6 @@ out:
static void modisk_detach(struct scst_device *dev)
{
/* Nothing to do */
return;
}
static int modisk_parse(struct scst_cmd *cmd)
@@ -270,7 +264,6 @@ static void modisk_set_block_shift(struct scst_cmd *cmd, int block_shift)
dev->block_shift = new_block_shift;
dev->block_size = 1 << dev->block_shift;
}
return;
}
static int modisk_done(struct scst_cmd *cmd)
+8 -12
View File
@@ -62,9 +62,8 @@ static int processor_attach(struct scst_device *dev)
TRACE_ENTRY();
if (dev->scsi_dev == NULL ||
dev->scsi_dev->type != dev->type) {
PRINT_ERROR("%s", "SCSI device not define or illegal type");
if (!dev->scsi_dev || dev->scsi_dev->type != dev->type) {
PRINT_ERROR("SCSI device not define or illegal type");
res = -ENODEV;
goto out;
}
@@ -74,16 +73,16 @@ static int processor_attach(struct scst_device *dev)
* of the other stuff
*/
if (dev->scsi_dev->sdev_state == SDEV_OFFLINE) {
TRACE_DBG("%s", "Device is offline");
TRACE_DBG("Device is offline");
res = -ENODEV;
goto out;
}
retries = SCST_DEV_RETRIES_ON_UA;
do {
TRACE_DBG("%s", "Doing TEST_UNIT_READY");
rc = scsi_test_unit_ready(dev->scsi_dev,
SCST_GENERIC_PROCESSOR_TIMEOUT, PROCESSOR_RETRIES, NULL);
TRACE_DBG("Doing TEST_UNIT_READY");
rc = scsi_test_unit_ready(dev->scsi_dev, SCST_GENERIC_PROCESSOR_TIMEOUT,
PROCESSOR_RETRIES, NULL);
TRACE_DBG("TEST_UNIT_READY done: %x", rc);
} while ((--retries > 0) && rc);
@@ -94,8 +93,8 @@ static int processor_attach(struct scst_device *dev)
res = scst_obtain_device_parameters(dev, NULL);
if (res != 0) {
PRINT_ERROR("Failed to obtain control parameters for device "
"%s", dev->virt_name);
PRINT_ERROR("Failed to obtain control parameters for device %s",
dev->virt_name);
goto out;
}
@@ -110,7 +109,6 @@ void processor_detach(struct scst_device *dev)
TRACE_ENTRY();
TRACE_EXIT();
return;
}
#endif
@@ -167,7 +165,6 @@ static int __init processor_init(void)
if (res < 0)
goto out;
out:
TRACE_EXIT_RES(res);
return res;
@@ -178,7 +175,6 @@ static void __exit processor_exit(void)
TRACE_ENTRY();
scst_unregister_dev_driver(&processor_devtype);
TRACE_EXIT();
return;
}
module_init(processor_init);
+8 -13
View File
@@ -62,9 +62,8 @@ static int raid_attach(struct scst_device *dev)
TRACE_ENTRY();
if (dev->scsi_dev == NULL ||
dev->scsi_dev->type != dev->type) {
PRINT_ERROR("%s", "SCSI device not define or illegal type");
if (!dev->scsi_dev || dev->scsi_dev->type != dev->type) {
PRINT_ERROR("SCSI device not define or illegal type");
res = -ENODEV;
goto out;
}
@@ -74,16 +73,16 @@ static int raid_attach(struct scst_device *dev)
* of the other stuff
*/
if (dev->scsi_dev->sdev_state == SDEV_OFFLINE) {
TRACE_DBG("%s", "Device is offline");
TRACE_DBG("Device is offline");
res = -ENODEV;
goto out;
}
retries = SCST_DEV_RETRIES_ON_UA;
do {
TRACE_DBG("%s", "Doing TEST_UNIT_READY");
rc = scsi_test_unit_ready(dev->scsi_dev,
SCST_GENERIC_RAID_TIMEOUT, RAID_RETRIES, NULL);
TRACE_DBG("Doing TEST_UNIT_READY");
rc = scsi_test_unit_ready(dev->scsi_dev, SCST_GENERIC_RAID_TIMEOUT,
RAID_RETRIES, NULL);
TRACE_DBG("TEST_UNIT_READY done: %x", rc);
} while ((--retries > 0) && rc);
@@ -94,8 +93,8 @@ static int raid_attach(struct scst_device *dev)
res = scst_obtain_device_parameters(dev, NULL);
if (res != 0) {
PRINT_ERROR("Failed to obtain control parameters for device "
"%s", dev->virt_name);
PRINT_ERROR("Failed to obtain control parameters for device %s",
dev->virt_name);
goto out;
}
@@ -110,7 +109,6 @@ void raid_detach(struct scst_device *dev)
TRACE_ENTRY();
TRACE_EXIT();
return;
}
#endif
@@ -167,11 +165,9 @@ static int __init raid_init(void)
if (res < 0)
goto out;
out:
TRACE_EXIT_RES(res);
return res;
}
static void __exit raid_exit(void)
@@ -179,7 +175,6 @@ static void __exit raid_exit(void)
TRACE_ENTRY();
scst_unregister_dev_driver(&raid_devtype);
TRACE_EXIT();
return;
}
module_init(raid_init);
+22 -32
View File
@@ -101,12 +101,10 @@ static int __init init_scst_tape_driver(void)
if (res < 0)
goto out_unreg;
out:
TRACE_EXIT_RES(res);
return res;
out_unreg:
scst_unregister_dev_driver(&tape_devtype);
goto out;
@@ -120,7 +118,6 @@ static void __exit exit_scst_tape_driver(void)
scst_unregister_dev_driver(&tape_devtype);
TRACE_EXIT();
return;
}
module_init(init_scst_tape_driver);
@@ -136,9 +133,8 @@ static int tape_attach(struct scst_device *dev)
TRACE_ENTRY();
if (dev->scsi_dev == NULL ||
dev->scsi_dev->type != dev->type) {
PRINT_ERROR("%s", "SCSI device not define or illegal type");
if (!dev->scsi_dev || dev->scsi_dev->type != dev->type) {
PRINT_ERROR("SCSI device not define or illegal type");
res = -ENODEV;
goto out;
}
@@ -149,16 +145,16 @@ static int tape_attach(struct scst_device *dev)
buffer = kmalloc(buffer_size, GFP_KERNEL);
if (!buffer) {
PRINT_ERROR("Buffer memory allocation (size %d) failure",
buffer_size);
buffer_size);
res = -ENOMEM;
goto out;
}
retries = SCST_DEV_RETRIES_ON_UA;
do {
TRACE_DBG("%s", "Doing TEST_UNIT_READY");
rc = scsi_test_unit_ready(dev->scsi_dev,
SCST_GENERIC_TAPE_SMALL_TIMEOUT, TAPE_RETRIES, NULL);
TRACE_DBG("Doing TEST_UNIT_READY");
rc = scsi_test_unit_ready(dev->scsi_dev, SCST_GENERIC_TAPE_SMALL_TIMEOUT,
TAPE_RETRIES, NULL);
TRACE_DBG("TEST_UNIT_READY done: %x", rc);
} while ((--retries > 0) && rc);
@@ -168,7 +164,7 @@ static int tape_attach(struct scst_device *dev)
goto obtain;
}
TRACE_DBG("%s", "Doing MODE_SENSE");
TRACE_DBG("Doing MODE_SENSE");
rc = scsi_mode_sense(dev->scsi_dev,
((dev->scsi_dev->scsi_level <= SCSI_2) ?
((dev->scsi_dev->lun << 5) & 0xe0) : 0),
@@ -194,9 +190,9 @@ static int tape_attach(struct scst_device *dev)
mode = (buffer[2] & 0x70) >> 4;
speed = buffer[2] & 0x0f;
density = buffer[4];
TRACE_DBG("Tape: lun %lld. bs %d. type 0x%02x mode 0x%02x "
"speed 0x%02x dens 0x%02x", (u64)dev->scsi_dev->lun,
dev->block_size, medium_type, mode, speed, density);
TRACE_DBG("Tape: lun %lld. bs %d. type 0x%02x mode 0x%02x speed 0x%02x dens 0x%02x",
(u64)dev->scsi_dev->lun, dev->block_size, medium_type, mode, speed,
density);
} else {
PRINT_ERROR("MODE_SENSE failed: %x", rc);
res = -ENODEV;
@@ -207,8 +203,8 @@ static int tape_attach(struct scst_device *dev)
obtain:
res = scst_obtain_device_parameters(dev, NULL);
if (res != 0) {
PRINT_ERROR("Failed to obtain control parameters for device "
"%s", dev->virt_name);
PRINT_ERROR("Failed to obtain control parameters for device %s",
dev->virt_name);
goto out_free_buf;
}
@@ -223,7 +219,6 @@ out:
static void tape_detach(struct scst_device *dev)
{
/* Nothing to do */
return;
}
static int tape_parse(struct scst_cmd *cmd)
@@ -250,7 +245,6 @@ static void tape_set_block_size(struct scst_cmd *cmd, int block_size)
*/
dev->block_size = block_size;
dev->block_shift = scst_calc_block_shift(dev->block_size);
return;
}
static int tape_done(struct scst_cmd *cmd)
@@ -261,22 +255,19 @@ static int tape_done(struct scst_cmd *cmd)
TRACE_ENTRY();
if ((status == SAM_STAT_GOOD) || (status == SAM_STAT_CONDITION_MET))
if (status == SAM_STAT_GOOD || status == SAM_STAT_CONDITION_MET) {
res = scst_tape_generic_dev_done(cmd, tape_set_block_size);
else if ((status == SAM_STAT_CHECK_CONDITION) &&
scst_sense_valid(cmd->sense)) {
} else if (status == SAM_STAT_CHECK_CONDITION && scst_sense_valid(cmd->sense)) {
TRACE_DBG("Extended sense %x", scst_sense_response_code(cmd->sense));
if (scst_sense_response_code(cmd->sense) != 0x70) {
PRINT_ERROR("Sense format 0x%x is not supported",
scst_sense_response_code(cmd->sense));
scst_set_cmd_error(cmd,
SCST_LOAD_SENSE(scst_sense_internal_failure));
scst_sense_response_code(cmd->sense));
scst_set_cmd_error(cmd, SCST_LOAD_SENSE(scst_sense_internal_failure));
goto out;
}
if (opcode == READ_6 && !(cmd->cdb[1] & SILI_BIT) &&
(cmd->sense[2] & 0xe0)) {
if (opcode == READ_6 && !(cmd->cdb[1] & SILI_BIT) && (cmd->sense[2] & 0xe0)) {
/* EOF, EOM, or ILI */
unsigned int TransferLength, Residue = 0;
@@ -287,10 +278,9 @@ static int tape_done(struct scst_cmd *cmd)
/* Compute the residual count */
if ((cmd->sense[0] & 0x80) != 0)
Residue = get_unaligned_be32(&cmd->sense[3]);
TRACE_DBG("Checking the sense key "
"sn[2]=%x cmd->cdb[0,1]=%x,%x TransLen/Resid"
" %d/%d", (int)cmd->sense[2], cmd->cdb[0],
cmd->cdb[1], TransferLength, Residue);
TRACE_DBG("Checking the sense key sn[2]=%x cmd->cdb[0,1]=%x,%x TransLen/Resid %d/%d",
(int)cmd->sense[2], cmd->cdb[0], cmd->cdb[1], TransferLength,
Residue);
if (TransferLength > Residue) {
int resp_data_len = TransferLength - Residue;
@@ -308,8 +298,8 @@ static int tape_done(struct scst_cmd *cmd)
}
out:
TRACE_DBG("cmd->is_send_status=%x, cmd->resp_data_len=%d, "
"res=%d", cmd->is_send_status, cmd->resp_data_len, res);
TRACE_DBG("cmd->is_send_status=%x, cmd->resp_data_len=%d, res=%d",
cmd->is_send_status, cmd->resp_data_len, res);
TRACE_EXIT_RES(res);
return res;