[LWN Logo]
[LWN.net]
From:	 Martin Dalecki <dalecki@evision-ventures.com>
To:	 linux-kernel@vger.kernel.org
Subject: PATCH] 2.5.11 IDE 45
Date:	 Mon, 29 Apr 2002 14:34:47 +0200

- Fix bogus set_multimode() change. I tough I had reverted it before diff-ing.
   This was causing hangs of /dev/hdparm -m8 /dev/hda and similar commands.


diff -urN linux-2.5.11/drivers/ide/ide-disk.c linux/drivers/ide/ide-disk.c
--- linux-2.5.11/drivers/ide/ide-disk.c	2002-04-29 05:11:18.000000000 +0200
+++ linux/drivers/ide/ide-disk.c	2002-04-29 14:16:42.000000000 +0200
@@ -562,17 +562,17 @@
  */
 static int set_multcount(ide_drive_t *drive, int arg)
 {
-	struct ata_taskfile args;
+	struct request rq;
 
 	if (drive->special_cmd & ATA_SPECIAL_MMODE)
 		return -EBUSY;
 
-	memset(&args, 0, sizeof(args));
+	ide_init_drive_cmd(&rq);
 
 	drive->mult_req = arg;
 	drive->special_cmd |= ATA_SPECIAL_MMODE;
 
-	ide_raw_taskfile(drive, &args, NULL);
+	ide_do_drive_cmd (drive, &rq, ide_wait);
 
 	return (drive->mult_count == arg) ? 0 : -EIO;
 }