linux-stable/drivers/ata
Alan 032af1ce16 libata-core: Fix simplex handling
The initial simplex handling code is fooled if you suspend and resume.
This also causes problems with some single channel controllers which
claim to be simplex.

The fix is fairly simple, instead of keeping a flag to remember if we
gave away the simplex channel we remember the actual owner. As the owner
is always part of the host_set we don't even need a refcount.

Knowing the owner also means we can reassign simplex DMA channels in
future hotplug code etc if we need to

Signed-off-by: Alan Cox <alan@redhat.com>
(and a signed-off for the patch I sent before while I remember)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-03-02 17:42:48 -05:00
..
ahci.c ahci: improve spurious SDB FIS handling 2007-03-01 20:19:45 -05:00
ata_generic.c [libata] bump versions 2007-02-26 06:04:24 -05:00
ata_piix.c [libata] bump versions 2007-02-26 06:04:24 -05:00
Kconfig libata: Fix Cell SATA driver dependencies 2007-02-21 04:58:17 -05:00
libata-acpi.c [libata] ACPI: remove needless ->qc_issue hook existence test 2007-02-24 21:05:01 -05:00
libata-core.c libata-core: Fix simplex handling 2007-03-02 17:42:48 -05:00
libata-eh.c libata: s/ap->id/ap->print_id/g 2007-02-21 04:58:20 -05:00
libata-scsi.c libata: s/ap->id/ap->print_id/g 2007-02-21 04:58:20 -05:00
libata-sff.c [libata] Trim trailing whitespace. 2007-02-26 05:51:33 -05:00
libata.h SiS warning fixes 2007-02-21 04:58:17 -05:00
Makefile libata: PATA driver for Celleb 2007-02-21 04:58:16 -05:00
pata_ali.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_amd.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_artop.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_atiixp.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_cmd64x.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_cs5520.c libata: clear drvdata in ata_host_release(), take#2 2007-03-01 20:16:28 -05:00
pata_cs5530.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_cs5535.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_cypress.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_efar.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_hpt3x2n.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_hpt3x3.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_hpt37x.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_hpt366.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_isapnp.c libata: clear drvdata in ata_host_release(), take#2 2007-03-01 20:16:28 -05:00
pata_it821x.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_it8213.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_ixp4xx_cf.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_jmicron.c ahci/pata_jmicron: match class not function number 2007-03-01 20:19:45 -05:00
pata_legacy.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_marvell.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_mpc52xx.c [POWERPC] Fixup mp5200 drivers to match device tree changes 2007-02-13 15:35:53 +11:00
pata_mpiix.c [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2007-02-14 08:09:54 -08:00
pata_netcell.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_ns87410.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_oldpiix.c pata_oldpiix: Call both PIO and DMA setup functions on switch as they are called on set up 2007-02-21 04:58:20 -05:00
pata_opti.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_optidma.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_pcmcia.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_pdc202xx_old.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_pdc2027x.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_platform.c libata: clear drvdata in ata_host_release(), take#2 2007-03-01 20:16:28 -05:00
pata_qdi.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_radisys.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_rz1000.c pata: Display Configuring .. lines for devices with private set_mode methods 2007-02-21 04:58:20 -05:00
pata_sc1200.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_scc.c [libata] Trim trailing whitespace. 2007-02-26 05:51:33 -05:00
pata_serverworks.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_sil680.c [libata] Trim trailing whitespace. 2007-02-26 05:51:33 -05:00
pata_sis.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_sl82c105.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_triflex.c libata: add another IRQ calls (libata drivers) 2007-02-09 17:39:38 -05:00
pata_via.c [libata] Trim trailing whitespace. 2007-02-26 05:51:33 -05:00
pata_winbond.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pdc_adma.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_inic162x.c [PATCH] scheduled removal of SA_XXX interrupt flags: ata fix 2007-02-14 08:09:55 -08:00
sata_mv.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_nv.c [libata] Trim trailing whitespace. 2007-02-26 05:51:33 -05:00
sata_promise.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_promise.h Move libata to drivers/ata. 2006-08-10 07:31:37 -04:00
sata_qstor.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_sil.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_sil24.c sata_sil24: kill unused local variable idx in sil24_fill_sg() 2007-03-01 20:16:29 -05:00
sata_sis.c [libata] Trim trailing whitespace. 2007-02-26 05:51:33 -05:00
sata_svw.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_sx4.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_uli.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_via.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_vsc.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sis.h SiS warning fixes 2007-02-21 04:58:17 -05:00