linux/drivers/ide/pci
Bartlomiej Zolnierkiewicz 3b2a5c7149 ide: filter out "default" transfer mode values in set_xfer_rate()
* Filter out "default" transfer mode values (0x00 - default PIO mode,
  0x01 - default PIO mode w/ IORDY disabled) in write handler for obsoleted
  /proc/ide/hd?/settings:current_speed setting.

  Allowing "default" transfer mode values is a dangerous thing to do as
  we don't support programming controller to the "default" transfer mode
  and devices often use different values for the default and maximum PIO
  mode (i.e. PIO2 default and PIO4 maximum) so the controller will stay
  programmed for higher PIO mode while device will use the lower PIO mode.

  There is no functionality loss as by using special IOCTLs device can
  still be programmed to "default" transfer modes (it is only useful for
  debugging/testing purposes anyway).

* Remove no longer needed IDE_HFLAG_ABUSE_SET_DMA_MODE host flag, it was
  previously used by few host drivers to program the controller to PIO0
  timings for "default" transfer mode == 0x01 (although some host drivers
  would program invalid PIO timings instead).

* Cleanup ide_set_xfer_rate() and add BUG_ON().

Suggested-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2008-07-23 19:55:56 +02:00
..
aec62xx.c ide: filter out "default" transfer mode values in set_xfer_rate() 2008-07-23 19:55:56 +02:00
alim15x3.c ide: factor out simplex handling from ide_pci_dma_base() 2008-07-23 19:55:51 +02:00
amd74xx.c ide: filter out "default" transfer mode values in set_xfer_rate() 2008-07-23 19:55:56 +02:00
atiixp.c ide: add struct ide_port_ops (take 2) 2008-04-26 22:25:14 +02:00
cmd64x.c ide: remove ->dma_{status,command} fields from ide_hwif_t 2008-07-23 19:55:51 +02:00
cmd640.c ide: pass hw_regs_t-s to ide_device_add[_all]() (take 3) 2008-07-23 19:55:50 +02:00
cs5520.c ide: filter out "default" transfer mode values in set_xfer_rate() 2008-07-23 19:55:56 +02:00
cs5530.c ide: add struct ide_port_ops (take 2) 2008-04-26 22:25:14 +02:00
cs5535.c ide: filter out "default" transfer mode values in set_xfer_rate() 2008-07-23 19:55:56 +02:00
cy82c693.c cy82c693: convert to use ide_timing_find_mode() 2008-07-16 20:33:38 +02:00
delkin_cb.c ide: pass hw_regs_t-s to ide_device_add[_all]() (take 3) 2008-07-23 19:55:50 +02:00
generic.c IDE: Coding Style fixes to drivers/ide/pci/generic.c 2008-04-26 17:36:40 +02:00
hpt34x.c ide: filter out "default" transfer mode values in set_xfer_rate() 2008-07-23 19:55:56 +02:00
hpt366.c ide: filter out "default" transfer mode values in set_xfer_rate() 2008-07-23 19:55:56 +02:00
it821x.c ide: it821x in pass-through mode segfaults in 2.6.26-stable 2008-07-16 20:33:34 +02:00
it8213.c it8213: fix return value in it8213_init_one() 2008-07-08 19:27:23 +02:00
jmicron.c ide: add struct ide_port_ops (take 2) 2008-04-26 22:25:14 +02:00
Makefile ide-pci-generic: kill the unused ifdef/endif/MODULE code 2008-02-06 02:57:49 +01:00
ns87415.c ide: remove ->INB, ->OUTB and ->OUTBSYNC methods 2008-07-23 19:55:54 +02:00
opti621.c opti621: add PIO 4 support 2008-06-15 21:00:22 +02:00
pdc202xx_new.c ide: remove ->dma_vendor{1,3} fields from ide_hwif_t 2008-04-28 23:44:42 +02:00
pdc202xx_old.c ide: filter out "default" transfer mode values in set_xfer_rate() 2008-07-23 19:55:56 +02:00
piix.c ide: remove ->dma_{status,command} fields from ide_hwif_t 2008-07-23 19:55:51 +02:00
rz1000.c ide: IDE_HFLAG_BOOTABLE -> IDE_HFLAG_NON_BOOTABLE 2008-04-26 17:36:35 +02:00
sc1200.c ide: constify struct ide_dma_ops 2008-04-26 22:25:24 +02:00
scc_pata.c ide: remove ->INB, ->OUTB and ->OUTBSYNC methods 2008-07-23 19:55:54 +02:00
serverworks.c ide: filter out "default" transfer mode values in set_xfer_rate() 2008-07-23 19:55:56 +02:00
sgiioc4.c ide: remove ->INB, ->OUTB and ->OUTBSYNC methods 2008-07-23 19:55:54 +02:00
siimage.c ide: remove ->INB, ->OUTB and ->OUTBSYNC methods 2008-07-23 19:55:54 +02:00
sis5513.c ide: convert ide-timing.h to ide-timings.c library (take 2) 2008-07-16 20:33:37 +02:00
sl82c105.c ide: remove ->dma_{status,command} fields from ide_hwif_t 2008-07-23 19:55:51 +02:00
slc90e66.c ide: add struct ide_port_ops (take 2) 2008-04-26 22:25:14 +02:00
tc86c001.c ide: filter out "default" transfer mode values in set_xfer_rate() 2008-07-23 19:55:56 +02:00
triflex.c ide: add struct ide_port_ops (take 2) 2008-04-26 22:25:14 +02:00
trm290.c ide: add struct ide_io_ports (take 3) 2008-04-27 15:38:32 +02:00
via82cxxx.c ide: filter out "default" transfer mode values in set_xfer_rate() 2008-07-23 19:55:56 +02:00