linux/drivers/ide
Bartlomiej Zolnierkiewicz b46f205da6 ide: fix LOCKDEP warning
commit 295f00042a ("ide: don't execute
the next queued command from the hard-IRQ context") overlooked that
ide_do_drive_cmd() (used for REQUEST SENSE command handling) may still
invoke do_ide_request() (->request_fn) in the hard-IRQ context through
blk_start_queueing().  This resulted in a LOCKDEP warning after commit
b599bc7a1199419e122cb2e9ec6b0fa2cfbbc17b ("ide: use per-device request
queue locks (v2)").

Since calling blk_start_queuing() in ide_do_drive_cmd() doesn't make
much sense as the port is already marked as busy (so the execution of
the new command will be deferred anyway) then just remove it fixing
LOCKDEP warning and saving some CPU cycles at the same time.

Reported-and-tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Reported-by: Grissiom <chaos.proton@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2009-01-06 17:20:47 +01:00
..
aec62xx.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
ali14xx.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
alim15x3.c alim15x3: fix sparse warning 2008-12-02 20:40:04 +01:00
amd74xx.c amd74xx: workaround unreliable AltStatus register for nVidia controllers 2008-12-02 20:40:03 +01:00
atiixp.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
au1xxx-ide.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
buddha.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
cmd64x.c cmd64x: set IDE_HFLAG_SERIALIZE explictly for CMD646 2008-12-29 20:27:32 +01:00
cmd640.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
cs5520.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
cs5530.c drivers/ide/{cs5530.c,sc1200.c}: Move a dereference below a NULL test 2008-12-22 23:05:06 +01:00
cs5535.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
cy82c693.c cy82c693: remove superfluous ide_cy82c693 chipset type 2008-12-29 20:27:34 +01:00
delkin_cb.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
dtc2278.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
falconide.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
gayle.c gayle: set IDE_HFLAG_SERIALIZE explictly 2008-12-29 20:27:33 +01:00
hpt366.c ide: rework handling of serialized ports (v2) 2008-12-29 20:27:36 +01:00
ht6560b.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
icside.c icside section warnings 2008-11-30 10:03:36 -08:00
ide_arm.c [ARM] clps7500: remove support 2008-11-27 12:38:11 +00:00
ide_platform.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
ide-4drives.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
ide-acpi.c ide: fix IDE ACPI regression breaking suspend 2008-12-29 20:27:29 +01:00
ide-atapi.c ide-atapi: start dma in a drive-specific way 2009-01-02 16:12:56 +01:00
ide-cd_ioctl.c ide: remove IDE_AFLAG_NO_DOORLOCKING 2008-10-17 18:09:11 +02:00
ide-cd_verbose.c block: replace sizeof(rq->cmd) with BLK_MAX_CDB 2008-04-29 14:48:55 +02:00
ide-cd.c ide-cd: remove handler wrappers 2009-01-02 16:12:55 +01:00
ide-cd.h ide-cd: move cdrom_timer_expiry to ide-atapi.c 2009-01-02 16:12:53 +01:00
ide-cs.c pcmcia: add another pata/ide ID 2008-11-09 21:35:36 +01:00
ide-disk_ioctl.c [PATCH] switch ide_disk_ops ->ioctl() to sane prototype 2008-10-21 07:47:30 -04:00
ide-disk_proc.c ide-disk: factor out generic disk handling code to ide-gd.c 2008-10-17 18:09:12 +02:00
ide-disk.c ide: Switch to a common address 2008-11-02 21:40:08 +01:00
ide-disk.h [PATCH] switch ide_disk_ops ->ioctl() to sane prototype 2008-10-21 07:47:30 -04:00
ide-dma-sff.c ide: use ATA_DMA_* defines in ide-dma-sff.c 2008-12-29 20:27:37 +01:00
ide-dma.c ide: move SFF DMA code to ide-dma-sff.c 2008-10-13 21:39:47 +02:00
ide-floppy_ioctl.c ide-floppy: allocate only toplevel packet commands 2009-01-02 16:12:51 +01:00
ide-floppy_proc.c ide: prepare for merging ide-gd-floppy.c with ide-gd.c 2008-10-17 18:09:13 +02:00
ide-floppy.c ide-atapi: remove timeout arg to ide_issue_pc 2009-01-02 16:12:56 +01:00
ide-floppy.h [PATCH] switch ide_disk_ops ->ioctl() to sane prototype 2008-10-21 07:47:30 -04:00
ide-gd.c ide-gd: re-get capacity on revalidate 2008-11-02 21:40:10 +01:00
ide-gd.h ide: add generic ATA/ATAPI disk driver 2008-10-17 18:09:14 +02:00
ide-generic.c ide-generic: remove no longer needed ide_probe_legacy() 2008-10-13 21:39:42 +02:00
ide-h8300.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
ide-io.c ide: fix LOCKDEP warning 2009-01-06 17:20:47 +01:00
ide-ioctls.c ide: remove the last ide-scsi remnants 2009-01-02 16:12:54 +01:00
ide-iops.c ide: replace the global ide_lock spinlock by per-hwgroup spinlocks (v2) 2008-12-29 20:27:31 +01:00
ide-legacy.c ide: move legacy ISA/VLB ports handling to ide-legacy.c (v2) 2008-12-29 20:27:37 +01:00
ide-lib.c ide: remove superfluous local_irq_{save,restore}() from ide_dump_status() 2008-12-29 20:27:37 +01:00
ide-park.c ide: use per-device request queue locks (v2) 2009-01-02 16:12:50 +01:00
ide-pci-generic.c ide: Switch to a common address 2008-11-02 21:40:08 +01:00
ide-pio-blacklist.c ide: move PIO blacklist to ide-pio-blacklist.c 2008-07-16 20:33:39 +02:00
ide-pm.c ide: move Power Management support to ide-pm.c 2008-12-29 20:27:37 +01:00
ide-pnp.c ide: add ide_host_add() helper 2008-07-23 19:55:57 +02:00
ide-probe.c ide: remove the last ide-scsi remnants 2009-01-02 16:12:54 +01:00
ide-proc.c cy82c693: remove superfluous ide_cy82c693 chipset type 2008-12-29 20:27:34 +01:00
ide-scan-pci.c ide: replace remaining __FUNCTION__ occurrences 2008-04-26 22:25:20 +02:00
ide-sysfs.c ide: move sysfs support to ide-sysfs.c 2009-01-02 16:12:48 +01:00
ide-tape.c ide-atapi: remove timeout arg to ide_issue_pc 2009-01-02 16:12:56 +01:00
ide-taskfile.c ide: Implement disk shock protection support (v4) 2008-10-13 21:39:50 +02:00
ide-timings.c ide: include <linux/hdreg.h> only when needed 2008-10-10 22:39:27 +02:00
ide.c ide: move sysfs support to ide-sysfs.c 2009-01-02 16:12:48 +01:00
it821x.c ide: Switch to a common address 2008-11-02 21:40:08 +01:00
it8213.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
jmicron.c ide: Switch to a common address 2008-11-02 21:40:08 +01:00
Kconfig ide-atapi: accomodate transfer length calculation for ide-cd 2009-01-02 16:12:52 +01:00
macide.c m68k: machw.h cleanup 2008-12-28 20:00:03 +01:00
Makefile ide: move sysfs support to ide-sysfs.c 2009-01-02 16:12:48 +01:00
ns87415.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
opti621.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
palm_bk3710.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
pdc202xx_new.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
pdc202xx_old.c ide: add ->max_sectors field to struct ide_port_info 2008-12-29 20:27:34 +01:00
piix.c ide: Switch to a common address 2008-11-02 21:40:08 +01:00
pmac.c ide: build-fix for CONFIG_BLK_DEV_IDEDMA_PMAC=n 2008-12-08 17:52:05 +01:00
q40ide.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
qd65xx.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
qd65xx.h ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
rapide.c arm ide breakage 2008-10-26 09:35:05 -07:00
rz1000.c rz1000: apply chipset quirks early (v2) 2008-12-29 20:27:33 +01:00
sc1200.c drivers/ide/{cs5530.c,sc1200.c}: Move a dereference below a NULL test 2008-12-22 23:05:06 +01:00
scc_pata.c ide: Switch to a common address 2008-11-02 21:40:08 +01:00
serverworks.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
setup-pci.c ide: add proper PCI PM support (v2) 2008-10-10 22:39:32 +02:00
sgiioc4.c [IA64] Clear up section mismatch for ioc4_ide_attach_one. 2008-12-09 10:08:48 -08:00
siimage.c ide: Switch to a common address 2008-11-02 21:40:08 +01:00
sis5513.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
sl82c105.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
slc90e66.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
tc86c001.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
triflex.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
trm290.c trm290: add IDE_HFLAG_TRM290 host flag 2008-12-29 20:27:34 +01:00
tx4938ide.c ide: remove chipset type fixup from ide_host_register() 2009-01-02 16:12:47 +01:00
tx4939ide.c ide: remove chipset type fixup from ide_host_register() 2009-01-02 16:12:47 +01:00
umc8672.c ide: replace the global ide_lock spinlock by per-hwgroup spinlocks (v2) 2008-12-29 20:27:31 +01:00
via82cxxx.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00