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;
}