From: Borislav Petkov [EMAIL PROTECTED]
tape-speed_ctl is set to 1 in idetape_setup(), but, in calculate_speeds() its
value is tested for being 0, 1, or 2. Remove the if-branches where
tape-speed_ctl != 1 since they are never executed.
Also, rename calculate_speeds() by adding driver's prefix as is with the other
function names.
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c | 23 +--
1 files changed, 9 insertions(+), 14 deletions(-)
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 31edb0c..eab552e 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -61,7 +61,8 @@
* the optimum value or until we reach MAX.
*
* Setting the following parameter to 0 is illegal: the pipelined mode
- * cannot be disabled (calculate_speeds() divides by tape-max_stages.)
+ * cannot be disabled (idetape_calculate_speeds() divides by
+ * tape-max_stages.)
*/
#define IDETAPE_MIN_PIPELINE_STAGES 1
#define IDETAPE_MAX_PIPELINE_STAGES400
@@ -1462,10 +1463,9 @@ static void idetape_create_mode_sense_cmd (idetape_pc_t
*pc, u8 page_code)
pc-callback = idetape_pc_callback;
}
-static void calculate_speeds(ide_drive_t *drive)
+static void idetape_calculate_speeds(ide_drive_t *drive)
{
idetape_tape_t *tape = drive-driver_data;
- int full = 125, empty = 75;
if (time_after(jiffies, tape-ctl_pipe_htime + 120 * HZ)) {
tape-ctl_prev_pipe_h = tape-ctl_last_pipe_h;
@@ -1497,9 +1497,8 @@ static void calculate_speeds(ide_drive_t *drive)
tape-unctl_pipe_htime = jiffies;
}
tape-pipe_hspeed = max(tape-unctl_pipe_hspeed, tape-pipe_ctl_hspeed);
- if (tape-speed_ctl == 0) {
- tape-max_ins_speed = 5000;
- } else if (tape-speed_ctl == 1) {
+
+ if (tape-speed_ctl == 1) {
if (tape-nr_pending_stages = tape-max_stages / 2)
tape-max_ins_speed = tape-pipe_hspeed +
(1100 - tape-pipe_hspeed) * 2 *
@@ -1511,13 +1510,9 @@ static void calculate_speeds(ide_drive_t *drive)
tape-nr_pending_stages / tape-max_stages;
if (tape-nr_pending_stages = tape-max_stages * 99 / 100)
tape-max_ins_speed = 5000;
- } else if (tape-speed_ctl == 2) {
- tape-max_ins_speed = tape-pipe_hspeed * empty / 100 +
- (tape-pipe_hspeed * full / 100 - tape-pipe_hspeed *
-empty / 100) * tape-nr_pending_stages
- / tape-max_stages;
} else
tape-max_ins_speed = tape-speed_ctl;
+
tape-max_ins_speed = max(tape-max_ins_speed, 500);
}
@@ -1696,7 +1691,7 @@ static ide_startstop_t idetape_do_request(ide_drive_t
*drive,
if (time_after(jiffies, tape-ins_time))
tape-ins_speed = tape-ins_size / 1024 * HZ /
(jiffies - tape-ins_time);
- calculate_speeds(drive);
+ idetape_calculate_speeds(drive);
if (!test_and_clear_bit(IDETAPE_IGNORE_DSC, tape-flags)
(stat SEEK_STAT) == 0) {
if (postponed_rq == NULL) {
@@ -2416,7 +2411,7 @@ static int idetape_add_chrdev_write_request (ide_drive_t
*drive, int blocks)
idetape_switch_buffers(tape, new_stage);
idetape_add_stage_tail(drive, new_stage);
tape-pipeline_head++;
- calculate_speeds(drive);
+ idetape_calculate_speeds(drive);
/*
* Estimate whether the tape has stopped writing by checking
@@ -2658,7 +2653,7 @@ static int idetape_add_chrdev_read_request (ide_drive_t
*drive,int blocks)
idetape_remove_stage_head(drive);
spin_unlock_irqrestore(tape-que_lock, flags);
tape-pipeline_head++;
- calculate_speeds(drive);
+ idetape_calculate_speeds(drive);
}
if (bytes_read blocks * tape-blk_sz) {
printk(KERN_ERR ide-tape: bug: trying to return more bytes
than requested\n);
--
1.5.3.7
-
To unsubscribe from this list: send the line unsubscribe linux-ide in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html