linux/drivers/ata
Tejun Heo 5920dadfb4 libata: accept late unlocking of HPA
On certain configurations, HPA isn't or can't be unlocked during
probing but it somehow ends up unlocked afterwards.  In the following
thread, the problem can be reliably reproduced after resuming from
STR.  The BIOS turns on HPA during boot but forgets to do it during
resume.

  http://thread.gmane.org/gmane.linux.kernel/858310

This patch updates libata revalidation such that it considers native
n_sectors.  If the device size has increased to match native
n_sectors, it's assumed that HPA has been unlocked involuntarily and
the device is recognized as the same one.  This should be fairly safe
while nicely working around the problem.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Christof Warlich <christof@warlich.name>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2009-07-28 21:07:09 -04:00
..
ahci.c ahci: add device IDs for Ibex Peak ahci controllers 2009-07-28 21:06:26 -04:00
ata_generic.c
ata_piix.c ata_piix: Add new short cable ID 2009-07-28 21:06:53 -04:00
Kconfig
libata-acpi.c
libata-core.c libata: accept late unlocking of HPA 2009-07-28 21:07:09 -04:00
libata-eh.c libata: add missing NULL pointer check to ata_eh_reset() 2009-07-28 21:05:41 -04:00
libata-pmp.c
libata-scsi.c
libata-sff.c
libata.h
Makefile
pata_acpi.c
pata_ali.c
pata_amd.c
pata_artop.c
pata_at32.c
pata_at91.c libata: Updates and fixes for pata_at91 driver 2009-07-28 21:07:05 -04:00
pata_atiixp.c
pata_bf54x.c
pata_cmd64x.c
pata_cmd640.c
pata_cs5520.c
pata_cs5530.c
pata_cs5535.c
pata_cs5536.c
pata_cypress.c
pata_efar.c
pata_hpt3x2n.c
pata_hpt3x3.c
pata_hpt37x.c
pata_hpt366.c
pata_icside.c
pata_isapnp.c
pata_it821x.c
pata_it8213.c
pata_ixp4xx_cf.c
pata_jmicron.c
pata_legacy.c
pata_marvell.c
pata_mpc52xx.c
pata_mpiix.c
pata_netcell.c
pata_ninja32.c
pata_ns87410.c
pata_ns87415.c
pata_octeon_cf.c libata: remove superfluous NULL pointer checks 2009-07-28 21:06:13 -04:00
pata_of_platform.c
pata_oldpiix.c
pata_opti.c
pata_optidma.c
pata_palmld.c
pata_pcmcia.c pata_pcmcia: add CNF-CDROM-ID 2009-07-28 21:05:18 -04:00
pata_pdc202xx_old.c
pata_pdc2027x.c
pata_platform.c
pata_qdi.c
pata_radisys.c
pata_rb532_cf.c
pata_rz1000.c
pata_sc1200.c
pata_scc.c
pata_sch.c
pata_serverworks.c
pata_sil680.c
pata_sis.c
pata_sl82c105.c
pata_triflex.c
pata_via.c
pata_winbond.c
pdc_adma.c
sata_fsl.c
sata_inic162x.c
sata_mv.c libata: remove superfluous NULL pointer checks 2009-07-28 21:06:13 -04:00
sata_nv.c
sata_promise.c
sata_promise.h
sata_qstor.c
sata_sil.c libata: remove superfluous NULL pointer checks 2009-07-28 21:06:13 -04:00
sata_sil24.c
sata_sis.c
sata_svw.c
sata_sx4.c
sata_uli.c
sata_via.c
sata_vsc.c
sis.h