linux/drivers
Alan Cox c5038fc05d libata/pata_it821x: Improve handling of poorly compatible emulations
Some it821x RAID firmwares return 0 for the err return off both devices.
A similar issue occurs with the slave returning 0 not 1 if you plug a
gigabyte sata ramdisk into a controller that fakes two SATA ports as
master/slave on an SFF channel.

The patch does the following

- Allow the 'failed diagnostics' case on both master and slave
- Move the HORKAGE_DIAGNOSTIC check after ->dev_config

This second change also allows IT821x to fix up a problem where we report
drive diagnostic failures when in fact the drive is fine but the
microcontroller firmware doesn't appear to get it right. IT821x clears
the flag again to avoid giving the user bogus warnings about their disk.

The other IT821x change is a bit ugly, we slightly abuse the cable type
hook to fiddle with the identify data for the devices. We could add a new
hook for this but as we have only one offender and no more seeming likely
it seems better to keep libata-core clean.

Please let this sit in -mm briefly, just in case the relaxed checking
breaks some other emulated interface.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
History 2008-01-23 05:24:15 -05:00
..
acorn/char unicode diacritics support 2007-10-17 08:42:52 -07:00
acpi Pull bugzilla-9683 into release branch 2008-01-11 12:28:38 -05:00
amba Driver core: change add_uevent_var to use a struct 2007-10-12 14:51:01 -07:00
ata libata/pata_it821x: Improve handling of poorly compatible emulations 2008-01-23 05:24:15 -05:00
atm [ATM] atm/suni.c: Fix section mismatch. 2008-01-20 20:31:44 -08:00
auxdisplay cfag12864b fix 2007-08-22 19:52:46 -07:00
base create /sys/.../power when CONFIG_PM is set 2007-11-28 13:53:53 -08:00
block cciss: section mismatch 2008-01-14 08:52:22 -08:00
bluetooth [BLUETOOTH]: Always send explicit hci_ll wake-up acks. 2008-01-10 22:24:43 -08:00
cdrom SG: audit of drivers that use blk_rq_map_sg() 2007-10-24 13:21:21 +02:00
char Fix file references in documentation and Kconfig 2008-01-22 10:43:36 -08:00
clocksource x86_64: fix typo in acpi_pm.c 2007-07-21 18:37:12 -07:00
connector [CONNECTOR]: Don't touch queue dev after decrement of ref count. 2008-01-08 23:44:44 -08:00
cpufreq cpufreq: Initialise default governor before use 2008-01-17 15:38:58 -08:00
cpuidle cpuidle: remove unused exports 2007-10-29 17:27:50 -04:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2008-01-10 16:09:34 -08:00
dca I/OAT: Add DCA services 2007-10-16 09:43:09 -07:00
dio [PATCH] hp300: fix driver_register() return handling, remove dio_module_init() 2006-03-25 08:22:53 -08:00
dma I/OAT: fix null device in call to dev_err() 2007-12-17 19:28:17 -08:00
edac i5000_edac: no need to __stringify() KBUILD_BASENAME 2007-11-14 18:45:41 -08:00
eisa signedness: module_param_array nump argument 2007-10-14 12:41:52 -07:00
firewire firewire: OHCI 1.0 Isochronous Receive support 2007-12-10 21:55:19 +01:00
firmware dmi-id: fix for __you_cannot_kmalloc_that_much failure 2008-01-08 16:10:36 -08:00
hid HID: Don't access input_dev->private directly 2007-10-31 13:30:35 +01:00
hwmon hwmon: (it87) request only Environment Controller ports 2008-01-22 07:21:38 -05:00
i2c i2c-sibyte: Fix an error path 2008-01-14 21:53:31 +01:00
ide IDE: terminate ACPI DMI list 2008-01-11 11:42:07 -08:00
ieee1394 ieee1394: iso and async streams: s/g list fix 2007-11-04 14:31:16 +01:00
infiniband IB/ipath: Fix receiving UD messages with immediate data 2008-01-16 14:42:35 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2008-01-17 15:50:19 -08:00
isdn [ISDN]: i4l: Fix DLE handling for i4l-audio 2008-01-04 03:55:44 -08:00
kvm KVM: SVM: Fix FPU leak while emulating clts 2007-11-27 15:38:18 +02:00
leds leds: Fix locomo LED driver oops 2007-12-31 23:11:11 +00:00
lguest Remove bogus duplicate CONFIG_LGUEST_GUEST entry. 2008-01-19 21:29:39 -08:00
macintosh macintosh: fix fabrication of caplock key events 2008-01-14 08:52:22 -08:00
mca mca: add integrated device bus matching 2007-05-09 12:30:49 -07:00
md md: fix data corruption when a degraded raid5 array is reshaped 2008-01-08 16:10:35 -08:00
media fix wrong sized spinlock flags argument 2008-01-17 15:42:30 -08:00
message i2o: debug messages corrected 2007-11-05 15:12:31 -08:00
mfd MFD: SM501 debug typo fix 2007-11-29 09:24:53 -08:00
misc ACPI: thinkpad-acpi: fix lenovo keymap for brightness 2007-12-13 21:59:59 -05:00
mmc sdhci: support JMicron JMB38x chips 2007-12-12 20:01:00 +01:00
mtd cache invalidation error for buffered write 2008-01-11 11:44:37 -08:00
net Fix file references in documentation and Kconfig 2008-01-22 10:43:36 -08:00
nubus some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
of [SPARC/64]: Consolidate of_register_driver 2007-10-17 21:17:42 -07:00
oprofile oProfile: oops when profile_pc() returns ~0LU 2007-11-14 18:45:37 -08:00
parisc [PARISC] lba_pci: pci_claim_resources disabled expansion roms 2007-12-06 09:38:26 -08:00
parport parport: "dev->timeslice" is an unsigned long, not an int 2007-12-17 19:28:15 -08:00
pci ACPI: apply quirk_ich6_lpc_acpi to more ICH8 and ICH9 2008-01-11 00:24:55 -05:00
pcmcia pcmcia: remove pxa2xx_lubbock build warning 2007-12-23 12:54:37 -08:00
pnp pnpacpi: print resource shortage message only once (more) 2008-01-17 15:38:58 -08:00
power Merge git://git.infradead.org/battery-2.6 2007-10-22 19:20:52 -07:00
ps3 ps3: vuart: fix error path locking 2007-12-23 12:54:37 -08:00
rapidio some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
rtc rtc-at32ap700x: fix irq init oops 2007-12-17 19:28:15 -08:00
s390 [S390]: Fix use of skb after netif_rx 2007-12-11 02:45:29 -08:00
sbus [WATCHDOG] Sbus: cpwatchdog, remove SPIN_LOCK_UNLOCKED 2007-11-19 21:09:52 +00:00
scsi libata: convert to chained sg 2008-01-23 05:24:14 -05:00
serial [SERIAL]: Fix section mismatches in Sun serial console drivers. 2007-12-29 01:19:49 -08:00
sh superhyway: Handle device_register() retval properly. 2007-11-07 11:13:55 +09:00
sn some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
spi spi_bitbang: always grab lock with irqs blocked 2008-01-08 16:10:35 -08:00
ssb ssb: Fix probing of PCI cores if PCI and PCIE core is available 2008-01-08 23:30:10 -08:00
tc lk201: remove obsolete driver 2007-10-17 08:42:57 -07:00
telephony telephony: phonedev panics if unregistering device not registered [Bug 9266] 2007-11-05 15:12:33 -08:00
uio UIO: Hilscher CIF card driver 2007-07-18 15:57:16 -07:00
usb keyspan: fix oops 2008-01-21 19:39:41 -08:00
video s3c2410_fb: fix line length calculation 2008-01-21 19:39:41 -08:00
virtio virtio: fix module/device unloading 2007-11-19 11:20:42 +11:00
w1 W1: w1_therm.c is flagging 0C etc as invalid 2008-01-22 09:17:48 -08:00
watchdog [WATCHDOG] Revert "Stop looking for device as soon as one is found" 2008-01-18 21:01:34 +00:00
xen Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
zorro Amiga zorro bus: Add missing zorro_device_remove() 2007-11-26 19:15:31 -08:00
Kconfig Virtio interface 2007-10-23 15:49:54 +10:00
Makefile Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-10-23 16:37:29 -07:00