libata: kill ATA_FLAG_DISABLED
authorTejun Heo <tj@kernel.org>
Mon, 10 May 2010 19:41:30 +0000 (21:41 +0200)
committerJeff Garzik <jgarzik@redhat.com>
Tue, 18 May 2010 02:49:02 +0000 (22:49 -0400)
commit3e4ec3443f70fbe144799ccf0b1c3797f78d1715
treecfb297e42075baacbbabfb6034e3e7c9a44c73b2
parentc7a8209f766961eea4cfc6f22d2d6e06ef63546c
libata: kill ATA_FLAG_DISABLED

ATA_FLAG_DISABLED is only used by drivers which don't use
->error_handler framework and is largely broken.  Its only meaningful
function is to make irq handlers skip processing if the flag is set,
which is largely useless and even harmful as it makes those ports more
likely to cause IRQ storms.

Kill ATA_FLAG_DISABLED and makes the callers disable attached devices
instead.  ata_port_probe() and ata_port_disable() which manipulate the
flag are also killed.

This simplifies condition check in IRQ handlers.  While updating IRQ
handlers, remove ap NULL check as libata guarantees consecutive port
allocation (unoccupied ports are initialized with dummies) and
long-obsolete ATA_QCFLAG_ACTIVE check (checked by ata_qc_from_tag()).

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
18 files changed:
drivers/ata/libata-core.c
drivers/ata/libata-scsi.c
drivers/ata/libata-sff.c
drivers/ata/pata_bf54x.c
drivers/ata/pata_octeon_cf.c
drivers/ata/pdc_adma.c
drivers/ata/sata_inic162x.c
drivers/ata/sata_mv.c
drivers/ata/sata_nv.c
drivers/ata/sata_promise.c
drivers/ata/sata_qstor.c
drivers/ata/sata_sil.c
drivers/ata/sata_sil24.c
drivers/ata/sata_sx4.c
drivers/ata/sata_vsc.c
drivers/scsi/ipr.c
drivers/scsi/libsas/sas_scsi_host.c
include/linux/libata.h