linux_dsm_epyc7002/drivers
Bartlomiej Zolnierkiewicz 6f5050a96c ide: don't allow DMA to be enabled if CONFIG_IDEDMA_{ICS,PCI}_AUTO=n
For CONFIG_IDEDMA_{ICS,PCI}_AUTO=n and/or "ide=nodma" option the host/device
are not programmed for DMA and it is also explicitly disabled by ide_set_dma()
(->ide_dma_check returns "-1").  However the code responsible for manually
enabling DMA ("hdparm -d 1") has a bug which results in DMA being erroneously
enabled - ide_set_dma() incorrectly passes "0" return value to set_using_dma().
This may work if BIOS/firmware configured the host/device for DMA and chipset
allows independent configuration of DMA/PIO modes but won't work after suspend
and is generally unsafe on many chipsets (possibly including data corruption
if the same registers are used for DMA/PIO timings).

This patch fixes kernel bugzilla bug #8169 (piix host driver fixes for
setting PIO mode exposed the problem described above).  The side-effect of
the fix is that some rare configuration may be forced to PIO mode when DMA
mode was previously used - this is addressed by the next patch which removes
CONFIG_IDEDMA_{PCI,ICS}_AUTO config option completely.

Thanks goes out to Patrick Horn for reporting the issue, narrowing it down
to the specific commit and testing the fix.  Also thanks to Sergei Shtylyov
for help in debugging the problem.

Cc: Patrick Horn <phrh@yahoo.com>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Russell King <rmk+lkml@arm.linux.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-03-17 21:57:39 +01:00
..
acorn [ARM] Acorn: move the i2c bus driver into drivers/i2c 2007-03-04 20:40:50 +00:00
acpi [PATCH] misc NULL noise 2007-03-14 15:27:49 -07:00
amba
ata [PATCH] trivial ATA iomem annotations 2007-03-14 15:27:50 -07:00
atm [PATCH] zatm __init abuse 2007-03-14 15:27:49 -07:00
auxdisplay [PATCH] cfag12864b: fix crash when built-in and no parport present 2007-02-20 17:10:14 -08:00
base [PATCH] sysfs and driver core: add callback helper, used by SCSI and S390 2007-03-15 15:29:26 -07:00
block [PATCH] paride endianness annotations 2007-03-14 15:27:50 -07:00
bluetooth [Bluetooth] Make use of MODULE_FIRMWARE 2007-02-26 11:42:42 -08:00
cdrom [PATCH] Fix soft lockup with iSeries viocd driver 2007-03-05 07:57:51 -08:00
char Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2007-03-16 19:28:15 -07:00
clocksource [PATCH] clocksource init adjustments (fix bug #7426) 2007-03-05 07:57:53 -08:00
connector [CONNECTOR]: Bugfix for cn_call_callback() 2007-03-07 16:08:08 -08:00
cpufreq Revert "[CPUFREQ] constify cpufreq_driver where possible." 2007-02-26 14:55:48 -08:00
crypto [PATCH] geode-aes: use unsigned long for spin_lock_irqsave 2007-03-06 09:30:25 -08:00
dio
dma [PATCH] rm pointless dmaengine exports 2007-03-16 19:25:03 -07:00
edac [PATCH] EDAC: Add Fully-Buffered DIMM APIs to core 2007-02-12 09:48:32 -08:00
eisa
fc4 [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
firmware [PATCH] docbook: add edd firmware interfaces 2007-02-11 10:51:32 -08:00
hid Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid 2007-03-15 10:50:54 -07:00
hwmon [PATCH] hwmon: Build fix for SENSORS_W83793 2007-03-16 19:25:06 -07:00
i2c [ARM] Acorn: move the i2c bus driver into drivers/i2c 2007-03-04 20:40:50 +00:00
ide ide: don't allow DMA to be enabled if CONFIG_IDEDMA_{ICS,PCI}_AUTO=n 2007-03-17 21:57:39 +01:00
ieee1394 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-02-19 13:29:02 -08:00
infiniband [PATCH] fix ipath_dma_free_coherent() prototype 2007-03-14 15:27:49 -07:00
input Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input 2007-03-08 07:28:30 -08:00
isdn [PATCH] Fix buffer overflow and races in capi debug functions 2007-03-01 14:53:39 -08:00
kvm KVM: Move kvmfs magic number to <linux/magic.h> 2007-03-04 11:12:43 +02:00
leds leds: Add support for Cobalt Server front LED 2007-02-15 21:37:29 +00:00
macintosh backlight: Separate backlight properties from backlight ops pointers 2007-02-20 09:26:53 +00:00
mca
md [PATCH] fix read past end of array in md/linear.c 2007-03-16 19:25:03 -07:00
media [PATCH] misc NULL noise 2007-03-14 15:27:49 -07:00
message [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
mfd [PATCH] drivers/mfd/sm501.c: Replace pci_module_init with pci_register_driver 2007-02-26 12:35:47 -08:00
misc asus-laptop: make code static 2007-03-09 21:06:40 -05:00
mmc [ARM] 4256/1: i.MX/MX1 SDHC fix/workaround of SD card recognition problems 2007-03-12 16:49:37 +00:00
mtd [MTD] [OneNAND] Classify the page data and oob buffer 2007-03-09 08:08:09 +00:00
net natsemi: Avoid IntrStatus lossage if RX state machine resets. 2007-03-15 10:59:54 -04:00
nubus
oprofile [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
parisc Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6 2007-02-26 12:48:06 -08:00
parport [PATCH] parport_pc: fix parport_pc_probe_port section warning 2007-02-20 17:10:16 -08:00
pci [PATCH] pci: Repair pci_save/restore_state so we can restore one save many times. 2007-03-12 16:31:50 -07:00
pcmcia Driver core: more fallout from class_device changes for pcmcia 2007-02-23 14:52:09 -08:00
pnp [PATCH] reduce pnp syslog spam 2007-03-16 19:25:02 -07:00
ps3 [PATCH] C99 initializers, proper use of const in drivers/ps3 2007-03-14 15:27:50 -07:00
rapidio [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
rtc [ARM] rtc-pcf8583: Final fixes for this RTC on RiscPC 2007-03-04 20:33:07 +00:00
s390 [PATCH] sysfs and driver core: add callback helper, used by SCSI and S390 2007-03-15 15:29:26 -07:00
sbus [SPARC] uctrl: Check request_irq() return value. 2007-02-26 11:35:51 -08:00
scsi [PATCH] sysfs and driver core: add callback helper, used by SCSI and S390 2007-03-15 15:29:26 -07:00
serial [PATCH] 2.6 Altix: console fix for CONFIG_DEBUG_SHIRQ usage 2007-03-08 07:39:15 -08:00
sh
sn [PATCH] IOC3/IOC4: PCI mem space resources 2007-02-11 10:51:25 -08:00
spi [PATCH] spi_s3c24xx.c: warning fix 2007-03-16 19:25:06 -07:00
tc [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
telephony [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
usb Revert "USB: pxa2xx_udc: fix hardcoded irq number" 2007-03-10 14:22:07 -08:00
video [PATCH] bool fbdevs must depend on FB = y 2007-03-16 19:25:05 -07:00
w1 [PATCH] w1: Use ARRAY_SIZE macro when appropriate 2007-02-12 09:48:28 -08:00
zorro [PATCH] mark struct file_operations const 6 2007-02-12 09:48:45 -08:00
Kconfig [PATCH] drivers: add LCD support 2007-02-11 10:51:24 -08:00
Makefile [PATCH] drivers: add LCD support 2007-02-11 10:51:24 -08:00