aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/00-INDEX2
-rw-r--r--Documentation/cdrom/ide-cd18
-rw-r--r--Documentation/ide/00-INDEX12
-rw-r--r--Documentation/ide/ide.txt (renamed from Documentation/ide.txt)20
-rw-r--r--Documentation/kernel-parameters.txt8
-rw-r--r--drivers/ide/Kconfig30
-rw-r--r--drivers/ide/ide-cd_ioctl.c4
-rw-r--r--drivers/ide/ide-dma.c2
-rw-r--r--drivers/ide/ide.c4
9 files changed, 57 insertions, 43 deletions
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX
index 30b327a116ea..042073f656e5 100644
--- a/Documentation/00-INDEX
+++ b/Documentation/00-INDEX
@@ -183,8 +183,6 @@ i386/
183 - directory with info about Linux on Intel 32 bit architecture. 183 - directory with info about Linux on Intel 32 bit architecture.
184ia64/ 184ia64/
185 - directory with info about Linux on Intel 64 bit architecture. 185 - directory with info about Linux on Intel 64 bit architecture.
186ide.txt
187 - important info for users of ATA devices (IDE/EIDE disks and CD-ROMS).
188infiniband/ 186infiniband/
189 - directory with documents concerning Linux InfiniBand support. 187 - directory with documents concerning Linux InfiniBand support.
190initrd.txt 188initrd.txt
diff --git a/Documentation/cdrom/ide-cd b/Documentation/cdrom/ide-cd
index 29721bfcde12..91c0dcc6fa5c 100644
--- a/Documentation/cdrom/ide-cd
+++ b/Documentation/cdrom/ide-cd
@@ -45,7 +45,7 @@ This driver provides the following features:
45--------------- 45---------------
46 46
470. The ide-cd relies on the ide disk driver. See 470. The ide-cd relies on the ide disk driver. See
48 Documentation/ide.txt for up-to-date information on the ide 48 Documentation/ide/ide.txt for up-to-date information on the ide
49 driver. 49 driver.
50 50
511. Make sure that the ide and ide-cd drivers are compiled into the 511. Make sure that the ide and ide-cd drivers are compiled into the
@@ -64,7 +64,7 @@ This driver provides the following features:
64 64
65 Depending on what type of IDE interface you have, you may need to 65 Depending on what type of IDE interface you have, you may need to
66 specify additional configuration options. See 66 specify additional configuration options. See
67 Documentation/ide.txt. 67 Documentation/ide/ide.txt.
68 68
692. You should also ensure that the iso9660 filesystem is either 692. You should also ensure that the iso9660 filesystem is either
70 compiled into the kernel or available as a loadable module. You 70 compiled into the kernel or available as a loadable module. You
@@ -84,7 +84,7 @@ This driver provides the following features:
84 on the primary IDE interface are called `hda' and `hdb', 84 on the primary IDE interface are called `hda' and `hdb',
85 respectively. The drives on the secondary interface are called 85 respectively. The drives on the secondary interface are called
86 `hdc' and `hdd'. (Interfaces at other locations get other letters 86 `hdc' and `hdd'. (Interfaces at other locations get other letters
87 in the third position; see Documentation/ide.txt.) 87 in the third position; see Documentation/ide/ide.txt.)
88 88
89 If you want your CDROM drive to be found automatically by the 89 If you want your CDROM drive to be found automatically by the
90 driver, you should make sure your IDE interface uses either the 90 driver, you should make sure your IDE interface uses either the
@@ -93,7 +93,7 @@ This driver provides the following features:
93 be jumpered as `master'. (If for some reason you cannot configure 93 be jumpered as `master'. (If for some reason you cannot configure
94 your system in this manner, you can probably still use the driver. 94 your system in this manner, you can probably still use the driver.
95 You may have to pass extra configuration information to the kernel 95 You may have to pass extra configuration information to the kernel
96 when you boot, however. See Documentation/ide.txt for more 96 when you boot, however. See Documentation/ide/ide.txt for more
97 information.) 97 information.)
98 98
994. Boot the system. If the drive is recognized, you should see a 994. Boot the system. If the drive is recognized, you should see a
@@ -201,7 +201,7 @@ TEST
201This section discusses some common problems encountered when trying to 201This section discusses some common problems encountered when trying to
202use the driver, and some possible solutions. Note that if you are 202use the driver, and some possible solutions. Note that if you are
203experiencing problems, you should probably also review 203experiencing problems, you should probably also review
204Documentation/ide.txt for current information about the underlying 204Documentation/ide/ide.txt for current information about the underlying
205IDE support code. Some of these items apply only to earlier versions 205IDE support code. Some of these items apply only to earlier versions
206of the driver, but are mentioned here for completeness. 206of the driver, but are mentioned here for completeness.
207 207
@@ -211,7 +211,7 @@ from the driver.
211a. Drive is not detected during booting. 211a. Drive is not detected during booting.
212 212
213 - Review the configuration instructions above and in 213 - Review the configuration instructions above and in
214 Documentation/ide.txt, and check how your hardware is 214 Documentation/ide/ide.txt, and check how your hardware is
215 configured. 215 configured.
216 216
217 - If your drive is the only device on an IDE interface, it should 217 - If your drive is the only device on an IDE interface, it should
@@ -219,7 +219,7 @@ a. Drive is not detected during booting.
219 219
220 - If your IDE interface is not at the standard addresses of 0x170 220 - If your IDE interface is not at the standard addresses of 0x170
221 or 0x1f0, you'll need to explicitly inform the driver using a 221 or 0x1f0, you'll need to explicitly inform the driver using a
222 lilo option. See Documentation/ide.txt. (This feature was 222 lilo option. See Documentation/ide/ide.txt. (This feature was
223 added around kernel version 1.3.30.) 223 added around kernel version 1.3.30.)
224 224
225 - If the autoprobing is not finding your drive, you can tell the 225 - If the autoprobing is not finding your drive, you can tell the
@@ -245,7 +245,7 @@ a. Drive is not detected during booting.
245 Support for some interfaces needing extra initialization is 245 Support for some interfaces needing extra initialization is
246 provided in later 1.3.x kernels. You may need to turn on 246 provided in later 1.3.x kernels. You may need to turn on
247 additional kernel configuration options to get them to work; 247 additional kernel configuration options to get them to work;
248 see Documentation/ide.txt. 248 see Documentation/ide/ide.txt.
249 249
250 Even if support is not available for your interface, you may be 250 Even if support is not available for your interface, you may be
251 able to get it to work with the following procedure. First boot 251 able to get it to work with the following procedure. First boot
@@ -299,7 +299,7 @@ c. System hangups.
299 be worked around by specifying the `serialize' option when 299 be worked around by specifying the `serialize' option when
300 booting. Recent kernels should be able to detect the need for 300 booting. Recent kernels should be able to detect the need for
301 this automatically in most cases, but the detection is not 301 this automatically in most cases, but the detection is not
302 foolproof. See Documentation/ide.txt for more information 302 foolproof. See Documentation/ide/ide.txt for more information
303 about the `serialize' option and the CMD640B. 303 about the `serialize' option and the CMD640B.
304 304
305 - Note that many MS-DOS CDROM drivers will work with such buggy 305 - Note that many MS-DOS CDROM drivers will work with such buggy
diff --git a/Documentation/ide/00-INDEX b/Documentation/ide/00-INDEX
new file mode 100644
index 000000000000..d6b778842b75
--- /dev/null
+++ b/Documentation/ide/00-INDEX
@@ -0,0 +1,12 @@
100-INDEX
2 - this file
3ChangeLog.ide-cd.1994-2004
4 - ide-cd changelog
5ChangeLog.ide-floppy.1996-2002
6 - ide-floppy changelog
7ChangeLog.ide-tape.1995-2002
8 - ide-tape changelog
9ide-tape.txt
10 - info on the IDE ATAPI streaming tape driver
11ide.txt
12 - important info for users of ATA devices (IDE/EIDE disks and CD-ROMS).
diff --git a/Documentation/ide.txt b/Documentation/ide/ide.txt
index bcd7cd1278ef..e3b3425328b6 100644
--- a/Documentation/ide.txt
+++ b/Documentation/ide/ide.txt
@@ -3,11 +3,11 @@
3 3
4============================================================================== 4==============================================================================
5 5
6 6
7 The hdparm utility can be used to control various IDE features on a 7 The hdparm utility can be used to control various IDE features on a
8 running system. It is packaged separately. Please Look for it on popular 8 running system. It is packaged separately. Please Look for it on popular
9 linux FTP sites. 9 linux FTP sites.
10 10
11 11
12 12
13*** IMPORTANT NOTICES: BUGGY IDE CHIPSETS CAN CORRUPT DATA!! 13*** IMPORTANT NOTICES: BUGGY IDE CHIPSETS CAN CORRUPT DATA!!
@@ -51,7 +51,7 @@ Common pitfalls:
51 51
52================================================================================ 52================================================================================
53 53
54This is the multiple IDE interface driver, as evolved from hd.c. 54This is the multiple IDE interface driver, as evolved from hd.c.
55 55
56It supports up to 9 IDE interfaces per default, on one or more IRQs (usually 56It supports up to 9 IDE interfaces per default, on one or more IRQs (usually
5714 & 15). There can be up to two drives per interface, as per the ATA-6 spec. 5714 & 15). There can be up to two drives per interface, as per the ATA-6 spec.
@@ -215,17 +215,17 @@ Summary of ide driver parameters for kernel command line
215-------------------------------------------------------- 215--------------------------------------------------------
216 216
217 "hdx=" is recognized for all "x" from "a" to "h", such as "hdc". 217 "hdx=" is recognized for all "x" from "a" to "h", such as "hdc".
218 218
219 "idex=" is recognized for all "x" from "0" to "3", such as "ide1". 219 "idex=" is recognized for all "x" from "0" to "3", such as "ide1".
220 220
221 "hdx=noprobe" : drive may be present, but do not probe for it 221 "hdx=noprobe" : drive may be present, but do not probe for it
222 222
223 "hdx=none" : drive is NOT present, ignore cmos and do not probe 223 "hdx=none" : drive is NOT present, ignore cmos and do not probe
224 224
225 "hdx=nowerr" : ignore the WRERR_STAT bit on this drive 225 "hdx=nowerr" : ignore the WRERR_STAT bit on this drive
226 226
227 "hdx=cdrom" : drive is present, and is a cdrom drive 227 "hdx=cdrom" : drive is present, and is a cdrom drive
228 228
229 "hdx=cyl,head,sect" : disk drive is present, with specified geometry 229 "hdx=cyl,head,sect" : disk drive is present, with specified geometry
230 230
231 "hdx=remap" : remap access of sector 0 to sector 1 (for EZDrive) 231 "hdx=remap" : remap access of sector 0 to sector 1 (for EZDrive)
@@ -261,7 +261,7 @@ Summary of ide driver parameters for kernel command line
261 "idex=base" : probe for an interface at the addr specified, 261 "idex=base" : probe for an interface at the addr specified,
262 where "base" is usually 0x1f0 or 0x170 262 where "base" is usually 0x1f0 or 0x170
263 and "ctl" is assumed to be "base"+0x206 263 and "ctl" is assumed to be "base"+0x206
264 264
265 "idex=base,ctl" : specify both base and ctl 265 "idex=base,ctl" : specify both base and ctl
266 266
267 "idex=base,ctl,irq" : specify base, ctl, and irq number 267 "idex=base,ctl,irq" : specify base, ctl, and irq number
@@ -272,7 +272,7 @@ Summary of ide driver parameters for kernel command line
272 to take effect. 272 to take effect.
273 273
274 "idex=four" : four drives on idex and ide(x^1) share same ports 274 "idex=four" : four drives on idex and ide(x^1) share same ports
275 275
276 "idex=reset" : reset interface after probe 276 "idex=reset" : reset interface after probe
277 277
278 "idex=ata66" : informs the interface that it has an 80c cable 278 "idex=ata66" : informs the interface that it has an 80c cable
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 9a5b6658c65e..533e67febf81 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -712,7 +712,7 @@ and is between 256 and 4096 characters. It is defined in the file
712 Format: <cyl>,<head>,<sect> 712 Format: <cyl>,<head>,<sect>
713 713
714 hd?= [HW] (E)IDE subsystem 714 hd?= [HW] (E)IDE subsystem
715 hd?lun= See Documentation/ide.txt. 715 hd?lun= See Documentation/ide/ide.txt.
716 716
717 highmem=nn[KMG] [KNL,BOOT] forces the highmem zone to have an exact 717 highmem=nn[KMG] [KNL,BOOT] forces the highmem zone to have an exact
718 size of <nn>. This works even on boxes that have no 718 size of <nn>. This works even on boxes that have no
@@ -766,14 +766,14 @@ and is between 256 and 4096 characters. It is defined in the file
766 766
767 ide= [HW] (E)IDE subsystem 767 ide= [HW] (E)IDE subsystem
768 Format: ide=nodma or ide=doubler or ide=reverse 768 Format: ide=nodma or ide=doubler or ide=reverse
769 See Documentation/ide.txt. 769 See Documentation/ide/ide.txt.
770 770
771 ide?= [HW] (E)IDE subsystem 771 ide?= [HW] (E)IDE subsystem
772 Format: ide?=noprobe or chipset specific parameters. 772 Format: ide?=noprobe or chipset specific parameters.
773 See Documentation/ide.txt. 773 See Documentation/ide/ide.txt.
774 774
775 idebus= [HW] (E)IDE subsystem - VLB/PCI bus speed 775 idebus= [HW] (E)IDE subsystem - VLB/PCI bus speed
776 See Documentation/ide.txt. 776 See Documentation/ide/ide.txt.
777 777
778 idle= [X86] 778 idle= [X86]
779 Format: idle=poll or idle=mwait 779 Format: idle=poll or idle=mwait
diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig
index df752e690e47..eed6d8e1b5c7 100644
--- a/drivers/ide/Kconfig
+++ b/drivers/ide/Kconfig
@@ -50,7 +50,7 @@ menuconfig IDE
50 To compile this driver as a module, choose M here: the 50 To compile this driver as a module, choose M here: the
51 module will be called ide. 51 module will be called ide.
52 52
53 For further information, please read <file:Documentation/ide.txt>. 53 For further information, please read <file:Documentation/ide/ide.txt>.
54 54
55 If unsure, say Y. 55 If unsure, say Y.
56 56
@@ -77,7 +77,7 @@ config BLK_DEV_IDE
77 Useful information about large (>540 MB) IDE disks, multiple 77 Useful information about large (>540 MB) IDE disks, multiple
78 interfaces, what to do if ATA/IDE devices are not automatically 78 interfaces, what to do if ATA/IDE devices are not automatically
79 detected, sound card ATA/IDE ports, module support, and other 79 detected, sound card ATA/IDE ports, module support, and other
80 topics, is contained in <file:Documentation/ide.txt>. For detailed 80 topics, is contained in <file:Documentation/ide/ide.txt>. For detailed
81 information about hard drives, consult the Disk-HOWTO and the 81 information about hard drives, consult the Disk-HOWTO and the
82 Multi-Disk-HOWTO, available from 82 Multi-Disk-HOWTO, available from
83 <http://www.tldp.org/docs.html#howto>. 83 <http://www.tldp.org/docs.html#howto>.
@@ -87,7 +87,7 @@ config BLK_DEV_IDE
87 <ftp://ibiblio.org/pub/Linux/system/hardware/>. 87 <ftp://ibiblio.org/pub/Linux/system/hardware/>.
88 88
89 To compile this driver as a module, choose M here and read 89 To compile this driver as a module, choose M here and read
90 <file:Documentation/ide.txt>. The module will be called ide-mod. 90 <file:Documentation/ide/ide.txt>. The module will be called ide-mod.
91 Do not compile this driver as a module if your root file system (the 91 Do not compile this driver as a module if your root file system (the
92 one containing the directory /) is located on an IDE device. 92 one containing the directory /) is located on an IDE device.
93 93
@@ -98,7 +98,7 @@ config BLK_DEV_IDE
98 98
99if BLK_DEV_IDE 99if BLK_DEV_IDE
100 100
101comment "Please see Documentation/ide.txt for help/info on IDE drives" 101comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"
102 102
103config BLK_DEV_IDE_SATA 103config BLK_DEV_IDE_SATA
104 bool "Support for SATA (deprecated; conflicts with libata SATA driver)" 104 bool "Support for SATA (deprecated; conflicts with libata SATA driver)"
@@ -235,8 +235,8 @@ config BLK_DEV_IDETAPE
235 along with other IDE devices, as "hdb" or "hdc", or something 235 along with other IDE devices, as "hdb" or "hdc", or something
236 similar, and will be mapped to a character device such as "ht0" 236 similar, and will be mapped to a character device such as "ht0"
237 (check the boot messages with dmesg). Be sure to consult the 237 (check the boot messages with dmesg). Be sure to consult the
238 <file:drivers/ide/ide-tape.c> and <file:Documentation/ide.txt> files 238 <file:drivers/ide/ide-tape.c> and <file:Documentation/ide/ide.txt>
239 for usage information. 239 files for usage information.
240 240
241 To compile this driver as a module, choose M here: the 241 To compile this driver as a module, choose M here: the
242 module will be called ide-tape. 242 module will be called ide-tape.
@@ -358,7 +358,7 @@ config BLK_DEV_CMD640
358 358
359 The CMD640 chip is also used on add-in cards by Acculogic, and on 359 The CMD640 chip is also used on add-in cards by Acculogic, and on
360 the "CSA-6400E PCI to IDE controller" that some people have. For 360 the "CSA-6400E PCI to IDE controller" that some people have. For
361 details, read <file:Documentation/ide.txt>. 361 details, read <file:Documentation/ide/ide.txt>.
362 362
363config BLK_DEV_CMD640_ENHANCED 363config BLK_DEV_CMD640_ENHANCED
364 bool "CMD640 enhanced support" 364 bool "CMD640 enhanced support"
@@ -366,7 +366,7 @@ config BLK_DEV_CMD640_ENHANCED
366 help 366 help
367 This option includes support for setting/autotuning PIO modes and 367 This option includes support for setting/autotuning PIO modes and
368 prefetch on CMD640 IDE interfaces. For details, read 368 prefetch on CMD640 IDE interfaces. For details, read
369 <file:Documentation/ide.txt>. If you have a CMD640 IDE interface 369 <file:Documentation/ide/ide.txt>. If you have a CMD640 IDE interface
370 and your BIOS does not already do this for you, then say Y here. 370 and your BIOS does not already do this for you, then say Y here.
371 Otherwise say N. 371 Otherwise say N.
372 372
@@ -1069,9 +1069,9 @@ config BLK_DEV_ALI14XX
1069 This driver is enabled at runtime using the "ali14xx.probe" kernel 1069 This driver is enabled at runtime using the "ali14xx.probe" kernel
1070 boot parameter. It enables support for the secondary IDE interface 1070 boot parameter. It enables support for the secondary IDE interface
1071 of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster 1071 of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster
1072 I/O speeds to be set as well. See the files 1072 I/O speeds to be set as well.
1073 <file:Documentation/ide.txt> and <file:drivers/ide/legacy/ali14xx.c> 1073 See the files <file:Documentation/ide/ide.txt> and
1074 for more info. 1074 <file:drivers/ide/legacy/ali14xx.c> for more info.
1075 1075
1076config BLK_DEV_DTC2278 1076config BLK_DEV_DTC2278
1077 tristate "DTC-2278 support" 1077 tristate "DTC-2278 support"
@@ -1079,7 +1079,7 @@ config BLK_DEV_DTC2278
1079 This driver is enabled at runtime using the "dtc2278.probe" kernel 1079 This driver is enabled at runtime using the "dtc2278.probe" kernel
1080 boot parameter. It enables support for the secondary IDE interface 1080 boot parameter. It enables support for the secondary IDE interface
1081 of the DTC-2278 card, and permits faster I/O speeds to be set as 1081 of the DTC-2278 card, and permits faster I/O speeds to be set as
1082 well. See the <file:Documentation/ide.txt> and 1082 well. See the <file:Documentation/ide/ide.txt> and
1083 <file:drivers/ide/legacy/dtc2278.c> files for more info. 1083 <file:drivers/ide/legacy/dtc2278.c> files for more info.
1084 1084
1085config BLK_DEV_HT6560B 1085config BLK_DEV_HT6560B
@@ -1088,7 +1088,7 @@ config BLK_DEV_HT6560B
1088 This driver is enabled at runtime using the "ht6560b.probe" kernel 1088 This driver is enabled at runtime using the "ht6560b.probe" kernel
1089 boot parameter. It enables support for the secondary IDE interface 1089 boot parameter. It enables support for the secondary IDE interface
1090 of the Holtek card, and permits faster I/O speeds to be set as well. 1090 of the Holtek card, and permits faster I/O speeds to be set as well.
1091 See the <file:Documentation/ide.txt> and 1091 See the <file:Documentation/ide/ide.txt> and
1092 <file:drivers/ide/legacy/ht6560b.c> files for more info. 1092 <file:drivers/ide/legacy/ht6560b.c> files for more info.
1093 1093
1094config BLK_DEV_QD65XX 1094config BLK_DEV_QD65XX
@@ -1096,7 +1096,7 @@ config BLK_DEV_QD65XX
1096 help 1096 help
1097 This driver is enabled at runtime using the "qd65xx.probe" kernel 1097 This driver is enabled at runtime using the "qd65xx.probe" kernel
1098 boot parameter. It permits faster I/O speeds to be set. See the 1098 boot parameter. It permits faster I/O speeds to be set. See the
1099 <file:Documentation/ide.txt> and <file:drivers/ide/legacy/qd65xx.c> 1099 <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/qd65xx.c>
1100 for more info. 1100 for more info.
1101 1101
1102config BLK_DEV_UMC8672 1102config BLK_DEV_UMC8672
@@ -1105,7 +1105,7 @@ config BLK_DEV_UMC8672
1105 This driver is enabled at runtime using the "umc8672.probe" kernel 1105 This driver is enabled at runtime using the "umc8672.probe" kernel
1106 boot parameter. It enables support for the secondary IDE interface 1106 boot parameter. It enables support for the secondary IDE interface
1107 of the UMC-8672, and permits faster I/O speeds to be set as well. 1107 of the UMC-8672, and permits faster I/O speeds to be set as well.
1108 See the files <file:Documentation/ide.txt> and 1108 See the files <file:Documentation/ide/ide.txt> and
1109 <file:drivers/ide/legacy/umc8672.c> for more info. 1109 <file:drivers/ide/legacy/umc8672.c> for more info.
1110 1110
1111endif 1111endif
diff --git a/drivers/ide/ide-cd_ioctl.c b/drivers/ide/ide-cd_ioctl.c
index b68284de4e85..6d147ce6782f 100644
--- a/drivers/ide/ide-cd_ioctl.c
+++ b/drivers/ide/ide-cd_ioctl.c
@@ -457,6 +457,10 @@ int ide_cdrom_packet(struct cdrom_device_info *cdi,
457 layer. the packet must be complete, as we do not 457 layer. the packet must be complete, as we do not
458 touch it at all. */ 458 touch it at all. */
459 ide_cd_init_rq(drive, &req); 459 ide_cd_init_rq(drive, &req);
460
461 if (cgc->data_direction == CGC_DATA_WRITE)
462 req.cmd_flags |= REQ_RW;
463
460 memcpy(req.cmd, cgc->cmd, CDROM_PACKET_SIZE); 464 memcpy(req.cmd, cgc->cmd, CDROM_PACKET_SIZE);
461 if (cgc->sense) 465 if (cgc->sense)
462 memset(cgc->sense, 0, sizeof(struct request_sense)); 466 memset(cgc->sense, 0, sizeof(struct request_sense));
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c
index 2de99e4be5c9..d61e5788d310 100644
--- a/drivers/ide/ide-dma.c
+++ b/drivers/ide/ide-dma.c
@@ -713,7 +713,7 @@ static int ide_tune_dma(ide_drive_t *drive)
713 } 713 }
714 714
715 if (hwif->host_flags & IDE_HFLAG_NO_SET_MODE) 715 if (hwif->host_flags & IDE_HFLAG_NO_SET_MODE)
716 return 0; 716 return 1;
717 717
718 if (ide_set_dma_mode(drive, speed)) 718 if (ide_set_dma_mode(drive, speed))
719 return 0; 719 return 0;
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index fa16bc30bbc9..9976f9d627d4 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -667,7 +667,6 @@ int ide_register_hw(hw_regs_t *hw, void (*quirkproc)(ide_drive_t *),
667 667
668 do { 668 do {
669 hwif = ide_deprecated_find_port(hw->io_ports[IDE_DATA_OFFSET]); 669 hwif = ide_deprecated_find_port(hw->io_ports[IDE_DATA_OFFSET]);
670 index = hwif->index;
671 if (hwif) 670 if (hwif)
672 goto found; 671 goto found;
673 for (index = 0; index < MAX_HWIFS; index++) 672 for (index = 0; index < MAX_HWIFS; index++)
@@ -675,6 +674,7 @@ int ide_register_hw(hw_regs_t *hw, void (*quirkproc)(ide_drive_t *),
675 } while (retry--); 674 } while (retry--);
676 return -1; 675 return -1;
677found: 676found:
677 index = hwif->index;
678 if (hwif->present) 678 if (hwif->present)
679 ide_unregister(index, 0, 1); 679 ide_unregister(index, 0, 1);
680 else if (!hwif->hold) 680 else if (!hwif->hold)
@@ -1180,7 +1180,7 @@ static int __initdata is_chipset_set[MAX_HWIFS];
1180 * ide_setup() gets called VERY EARLY during initialization, 1180 * ide_setup() gets called VERY EARLY during initialization,
1181 * to handle kernel "command line" strings beginning with "hdx=" or "ide". 1181 * to handle kernel "command line" strings beginning with "hdx=" or "ide".
1182 * 1182 *
1183 * Remember to update Documentation/ide.txt if you change something here. 1183 * Remember to update Documentation/ide/ide.txt if you change something here.
1184 */ 1184 */
1185static int __init ide_setup(char *s) 1185static int __init ide_setup(char *s)
1186{ 1186{