linux/drivers/s390/block
Martin Schwidefsky a00bfd7147 [S390] dasd deadlock after state change pending interrupt.
The dasd_device_from_cdev function is called from interrupt context
to get the struct dasd_device associated with a ccw device. The
driver_data of the ccw device points to the dasd_devmap structure
which contains the pointer to the dasd_device structure. The lock
that protects the dasd_devmap structure is acquire with out irqsave.
To prevent the deadlock in dasd_device_from_cdev if it is called
from interrupt context the dependency to the dasd_devmap structure
needs to be removed. Let the driver_data of the ccw device point
to the dasd_device structure directly and use the ccw device lock
to protect the access.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2006-09-20 15:59:05 +02:00
..
dasd_3370_erp.c [S390] dasd whitespace and other cosmetics. 2006-06-29 14:58:12 +02:00
dasd_3990_erp.c [S390] dasd whitespace and other cosmetics. 2006-06-29 14:58:12 +02:00
dasd_9336_erp.c [S390] dasd whitespace and other cosmetics. 2006-06-29 14:58:12 +02:00
dasd_9343_erp.c [S390] dasd whitespace and other cosmetics. 2006-06-29 14:58:12 +02:00
dasd_devmap.c [S390] dasd deadlock after state change pending interrupt. 2006-09-20 15:59:05 +02:00
dasd_diag.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
dasd_diag.h [S390] dasd whitespace and other cosmetics. 2006-06-29 14:58:12 +02:00
dasd_eckd.c [S390] dasd PAV enabling. 2006-08-24 13:22:36 +02:00
dasd_eckd.h [S390] add PAV support to the dasd driver. 2006-06-29 15:08:18 +02:00
dasd_eer.c [S390] dasd eer data format. 2006-06-29 15:02:59 +02:00
dasd_erp.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
dasd_fba.c [S390] Fix sparse warnings. 2006-07-12 16:41:55 +02:00
dasd_fba.h [S390] dasd whitespace and other cosmetics. 2006-06-29 14:58:12 +02:00
dasd_genhd.c [S390] dasd: fix device shutdown process. 2006-08-30 14:33:33 +02:00
dasd_int.h [S390] dasd deadlock after state change pending interrupt. 2006-09-20 15:59:05 +02:00
dasd_ioctl.c [S390] Fix sparse warnings. 2006-07-12 16:41:55 +02:00
dasd_proc.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
dasd.c [S390] dasd deadlock after state change pending interrupt. 2006-09-20 15:59:05 +02:00
dcssblk.c [PATCH] s390: kzalloc() conversion in drivers/s390 2006-03-24 07:33:18 -08:00
Kconfig [PATCH] s390: dasd extended error reporting 2006-03-24 07:33:17 -08:00
Makefile [PATCH] s390: dasd extended error reporting 2006-03-24 07:33:17 -08:00
xpram.c [S390] xpram system device class. 2006-08-07 18:13:06 +02:00