diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-15 13:01:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-15 13:01:16 -0400 |
commit | 0cb583fd2862f19ea88b02eb307d11c09e51e2f8 (patch) | |
tree | 740769ab145ed72af4d00ea8e4d55ebcef337fce /drivers/ide/ide-ioctls.c | |
parent | 723e9db7a46e328527cc3da2b478b831184fe828 (diff) | |
parent | a2d10568fd3965fffeb29a3a6f29966dd3801727 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6:
ide: fixup for fujitsu disk
ide: convert to ->proc_fops
at91_ide: remove headers specific for at91sam9263
IDE: palm_bk3710: convert clock usage after clkdev conversion
ide: fix races in handling of user-space SET XFER commands
ide: allow ide_dev_read_id() to be called from the IRQ context
ide: ide-taskfile.c fix style problems
drivers/ide/ide-cd.c: Use DIV_ROUND_CLOSEST
ide-tape: fix handling of postponed rqs
ide-tape: convert to ide_debug_log macro
ide-tape: fix debug call
ide: Fix annoying warning in ide_pio_bytes().
IDE: Save a call to PageHighMem()
Diffstat (limited to 'drivers/ide/ide-ioctls.c')
-rw-r--r-- | drivers/ide/ide-ioctls.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/ide/ide-ioctls.c b/drivers/ide/ide-ioctls.c index e246d3d3fbcc..d3440b5010a5 100644 --- a/drivers/ide/ide-ioctls.c +++ b/drivers/ide/ide-ioctls.c | |||
@@ -167,6 +167,8 @@ static int ide_cmd_ioctl(ide_drive_t *drive, unsigned long arg) | |||
167 | err = -EINVAL; | 167 | err = -EINVAL; |
168 | goto abort; | 168 | goto abort; |
169 | } | 169 | } |
170 | |||
171 | cmd.tf_flags |= IDE_TFLAG_SET_XFER; | ||
170 | } | 172 | } |
171 | 173 | ||
172 | err = ide_raw_taskfile(drive, &cmd, buf, args[3]); | 174 | err = ide_raw_taskfile(drive, &cmd, buf, args[3]); |
@@ -174,12 +176,6 @@ static int ide_cmd_ioctl(ide_drive_t *drive, unsigned long arg) | |||
174 | args[0] = tf->status; | 176 | args[0] = tf->status; |
175 | args[1] = tf->error; | 177 | args[1] = tf->error; |
176 | args[2] = tf->nsect; | 178 | args[2] = tf->nsect; |
177 | |||
178 | if (!err && xfer_rate) { | ||
179 | /* active-retuning-calls future */ | ||
180 | ide_set_xfer_rate(drive, xfer_rate); | ||
181 | ide_driveid_update(drive); | ||
182 | } | ||
183 | abort: | 179 | abort: |
184 | if (copy_to_user((void __user *)arg, &args, 4)) | 180 | if (copy_to_user((void __user *)arg, &args, 4)) |
185 | err = -EFAULT; | 181 | err = -EFAULT; |