From c6eb7b7703ac4b3401b74f411c8c51ded214bf19 Mon Sep 17 00:00:00 2001 From: Horst Hummel Date: Sat, 3 Sep 2005 15:57:58 -0700 Subject: [PATCH] s390: deadlock in dasd_devmap Reintroduce a read-only copy of the devmap features in the device struct. This is necessary to solve a deadlock on the dasd_devmap_lock which is acquired by dasd_get_features called from the dasd tasklet. The current implementation of devmap doesn't allow to call any devmap function from interrupt or softirq context. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/s390/block/dasd_int.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers/s390/block/dasd_int.h') diff --git a/drivers/s390/block/dasd_int.h b/drivers/s390/block/dasd_int.h index a9f38b2..9fab04f 100644 --- a/drivers/s390/block/dasd_int.h +++ b/drivers/s390/block/dasd_int.h @@ -6,7 +6,7 @@ * Bugreports.to..: * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 * - * $Revision: 1.64 $ + * $Revision: 1.65 $ */ #ifndef DASD_INT_H @@ -286,6 +286,7 @@ struct dasd_device { unsigned int bp_block; /* bytes per block */ unsigned int s2b_shift; /* log2 (bp_block/512) */ unsigned long flags; /* per device flags */ + unsigned short features; /* copy of devmap-features (read-only!) */ /* Device discipline stuff. */ struct dasd_discipline *discipline; -- cgit v1.1