From: "Timothy Thelin" <Timothy.Thelin@wdc.com>

When doing ioctl HDIO_DRIVE_TASKFILE, the ide_task_t's request pointer is
never set, but flagged_taskfile and do_rw_taskfile pass it as a parameter
to the prehandler.  The kernel will oops taskfile pio-out commands because
of this (taskfile pio-in doesn't use a prehandler).  This fix sets the
request pointer at the time the request is created to stop this oops.

Signed-off-by: Timothy Thelin <timothy.thelin@wdc.com>
Cc: "Bartlomiej Zolnierkiewicz" <bzolnier@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 drivers/ide/ide-taskfile.c |    1 +
 1 files changed, 1 insertion(+)

diff -puN drivers/ide/ide-taskfile.c~ide-fix-null-request-pointer-for-taskfile-ioctl drivers/ide/ide-taskfile.c
--- devel/drivers/ide/ide-taskfile.c~ide-fix-null-request-pointer-for-taskfile-ioctl	2005-09-11 01:54:55.000000000 -0700
+++ devel-akpm/drivers/ide/ide-taskfile.c	2005-09-11 01:54:55.000000000 -0700
@@ -500,6 +500,7 @@ static int ide_diag_taskfile(ide_drive_t
 	}
 
 	rq.special = args;
+	args->rq = &rq;
 	return ide_do_drive_cmd(drive, &rq, ide_wait);
 }
 
_