diff options
author | Tejun Heo <tj@kernel.org> | 2009-04-18 18:00:41 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2009-04-28 01:37:28 -0400 |
commit | 0de57fb93b1daaeaecb658a98b3299ae460c02e9 (patch) | |
tree | 619690c0244902c9d7879a309298b5ae20cfe2af /drivers | |
parent | 924cec7789f65ab7f022256f6533ecba0747b5f3 (diff) |
ide-tape: remove back-to-back REQUEST_SENSE detection
Impact: fix an oops which always triggers
ide_tape_issue_pc() assumed drive->pc isn't NULL on invocation when
checking for back-to-back request sense issues but drive->pc can be
NULL and even when it's not NULL, it's not safe to dereference it once
the previous command is complete because pc could have been freed or
was on stack. Kill back-to-back REQUEST_SENSE detection.
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ide/ide-tape.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c index cb942a9b580f..3a53e0834cf7 100644 --- a/drivers/ide/ide-tape.c +++ b/drivers/ide/ide-tape.c | |||
@@ -614,12 +614,6 @@ static ide_startstop_t ide_tape_issue_pc(ide_drive_t *drive, | |||
614 | { | 614 | { |
615 | idetape_tape_t *tape = drive->driver_data; | 615 | idetape_tape_t *tape = drive->driver_data; |
616 | 616 | ||
617 | if (drive->pc->c[0] == REQUEST_SENSE && | ||
618 | pc->c[0] == REQUEST_SENSE) { | ||
619 | printk(KERN_ERR "ide-tape: possible ide-tape.c bug - " | ||
620 | "Two request sense in serial were issued\n"); | ||
621 | } | ||
622 | |||
623 | if (drive->failed_pc == NULL && pc->c[0] != REQUEST_SENSE) | 617 | if (drive->failed_pc == NULL && pc->c[0] != REQUEST_SENSE) |
624 | drive->failed_pc = pc; | 618 | drive->failed_pc = pc; |
625 | 619 | ||