linux/drivers
Bartlomiej Zolnierkiewicz b0244a0045 ide-disk: workaround for buggy HPA support on ST340823A (take 3)
This disk reports total number of sectors instead of maximum sector address
in response to READ_NATIVE_MAX_ADDRESS command and also happily accepts
SET_MAX_ADDRESS command with the bogus value.  This results in +1 sector
capacity being used and errors on attempts to use the last sector.

...
hdd: Host Protected Area detected.
        current capacity is 78165360 sectors (40020 MB)
        native  capacity is 78165361 sectors (40020 MB)
hdd: Host Protected Area disabled.
...
hdd: reading: block=78165360, sectors=1, buffer=0xc1e63000
hdd: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdd: dma_intr: error=0x10 { SectorIdNotFound }, LBAsect=78165360, sector=78165360
...

Add hpa_list[] table and workaround the issue in idedisk_check_hpa().

v2:
* Add missing export and improve patch description a bit.

v3:
* Add list termination.  (From Mikko)

Fixes kernel bugzilla bug #8816.

Thanks to Mikko for investigating the issue and helping with this patch.

Cc: Mikko Rapeli <mikko.rapeli@iki.fi>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-08-20 22:42:57 +02:00
..
acorn/char Remove the arm26 port 2007-07-31 15:39:39 -07:00
acpi ACPI: EC: Fix "no battery" regression 2007-08-14 01:03:42 -04:00
amba
ata libata: adjust libata to ignore errors after spinup 2007-08-15 04:56:32 -04:00
atm Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
auxdisplay Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
base CPU online file permission 2007-07-31 15:39:39 -07:00
block Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
bluetooth
cdrom
char pull asus sony thinkpad into release branch 2007-08-12 00:17:12 -04:00
clocksource
connector
cpufreq
crypto Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
dio
dma [IOAT]: Remove redundant struct member to avoid descriptor cache miss 2007-08-14 17:36:31 -07:00
edac
eisa
fc4
firewire firewire: fw-core: make two variables static 2007-08-02 20:34:17 +02:00
firmware
hid Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
hwmon hwmon: (smsc47m1) restore missing name attribute 2007-08-12 14:39:44 -04:00
i2c i2c-s3c2410: Build fix 2007-08-14 18:37:15 +02:00
ide ide-disk: workaround for buggy HPA support on ST340823A (take 3) 2007-08-20 22:42:57 +02:00
ieee1394 ieee1394: sbp2: more correct Kconfig dependencies 2007-08-02 20:34:16 +02:00
infiniband IB/mlx4: Incorrect semicolon after if statement 2007-08-15 20:24:06 -07:00
input [MIPS] Fixup secure computing stuff. 2007-07-31 21:35:21 +01:00
isdn Remove 'isdn_* is defined but unused' warnings 2007-07-31 15:39:44 -07:00
kvm Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
leds
lguest i386: Make patching more robust, fix paravirt issue 2007-08-11 15:58:13 -07:00
macintosh Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
mca
md Fix remap handling by blktrace 2007-08-11 22:34:48 +02:00
media
message Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2007-08-06 17:48:34 -07:00
mfd
misc Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
mmc mmc: at91_mci: remove whitespace at the end of lines 2007-08-09 16:13:44 +02:00
mtd mtdchar build fix 2007-08-11 15:47:41 -07:00
net fix random hang in forcedeth driver when using netconsole 2007-08-18 09:58:51 -07:00
nubus
of
oprofile
parisc
parport parport_pc locking fix 2007-07-31 15:39:37 -07:00
pci pci: rename __pci_reenable_device() to pci_reenable_device() 2007-08-01 10:00:56 -04:00
pcmcia pcmcia: give socket time to power down 2007-07-31 15:39:38 -07:00
pnp
power
ps3
rapidio
rtc rtc-m48t59 driver NO_IRQ mode fixup 2007-07-31 15:39:44 -07:00
s390 [S390] monwriter: Serialization bug for multithreaded applications. 2007-08-10 14:32:39 +02:00
sbus Videopix Frame Grabber: Fix unreleased lock in vfc_debug() 2007-07-31 15:39:43 -07:00
scsi Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2007-08-06 17:48:34 -07:00
serial serial: fix 8250 early console setup 2007-08-03 15:02:56 -07:00
sh
sn
spi spidev warning fix 2007-08-11 15:47:42 -07:00
tc
telephony
uio
usb Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
video Merge master.kernel.org:/home/rmk/linux-2.6-arm 2007-08-18 10:28:21 -07:00
w1
xen
zorro
Kconfig
Makefile