linux/drivers
Josef 'Jeff' Sipek 08a8a0c59e [S390] dasd: fix double elevator_exit call when deadline iosched fails to load
I compiled the kernel without deadline, and the dasd code exits the old
scheduler (CFQ), fails to load the new one (deadline), and then things just
hang - with one of these (sorry about the weird chars - I copy & pasted it
from a 3270 console):

dasd(eckd): 0.0.0151: 3390/0A(CU:3990/01) Cyl:3338 Head:15 Sec:224
------------ cut here ------------
Badness at kernel/mutex.c:134
Modules linked in: dasd_eckd_mod dasd_mod
CPU: 0 Not tainted 2.6.25-rc3 #9
Process exe (pid: 538, task: 000000000d172000, ksp: 000000000d21ef88)
Krnl PSW : 0404000180000000 000000000022fb5c (mutex_lock_nested+0x2a4/0x2cc)
           R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:0 PM:0 EA:3
Krnl GPRS: 0000000000024218 000000000076fc78 0000000000000000 000000000000000f
           000000000022f92e 0000000000449898 000000000f921c00 000003e000162590
           00000000001539c4 000000000d172000 070000007fffffff 000000000d21f400
           000000000f8f2560 00000000002413f8 000000000022fb44 000000000d21f400
Krnl Code: 000000000022fb50: bf2f1000           icm     %r2,15,0(%r1)
           000000000022fb54: a774fef6           brc     7,22f940
           000000000022fb58: a7f40001           brc     15,22fb5a
          >000000000022fb5c: a7f4fef2           brc     15,22f940
           000000000022fb60: c0e5fffa112a       brasl   %r14,171db4
           000000000022fb66: 1222               ltr     %r2,%r2
           000000000022fb68: a784fedb           brc     8,22f91e
           000000000022fb6c: c010002a0086       larl    %r1,76fc78
Call Trace:
(<000000000022f92e> mutex_lock_nested+0x76/0x2cc)
 <00000000001539c4> elevator_exit+0x38/0x80
 <0000000000156ffe> blk_cleanup_queue+0x62/0x7c
 <000003e0001d5414> dasd_change_state+0xe0/0x8ec
 <000003e0001d5cae> dasd_set_target_state+0x8e/0x9c
 <000003e0001d5f74> dasd_generic_set_online+0x160/0x284
 <000003e00011e83a> dasd_eckd_set_online+0x2e/0x40
 <0000000000199bf4> ccw_device_set_online+0x170/0x2c0
 <0000000000199d9e> online_store_recog_and_online+0x5a/0x14c
 <000000000019a08a> online_store+0xbe/0x2ec
 <000000000018456c> dev_attr_store+0x38/0x58
 <000000000010efbc> sysfs_write_file+0x130/0x190
 <00000000000af582> vfs_write+0xb2/0x160
 <00000000000afc7c> sys_write+0x54/0x9c
 <0000000000025e16> sys32_write+0x2e/0x50
 <0000000000024218> sysc_noemu+0x10/0x16
 <0000000077e82bd2> 0x77e82bd2

Set elevator pointer to NULL in order to avoid double elevator_exit
calls when elevator_init call for deadline iosched fails.
Also make sure the dasd device driver depends on IOSCHED_DEADLINE so
the default IO scheduler of the dasd driver is present.

Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
2008-04-17 07:46:55 +02:00
..
acorn/char Fix default compose table initialization 2008-03-03 14:53:16 -08:00
acpi acpi: bus: check once more for an empty list after locking it 2008-04-15 19:35:41 -07:00
amba
ata [libata] make ali_atapi_dma static 2008-04-12 00:16:49 -04:00
atm [ATM] drivers/atm/iphase.c: compilation warning fix 2008-04-02 00:03:00 -07:00
auxdisplay
base driver core: fix small mem leak in driver_add_kobj() 2008-03-28 14:45:23 -07:00
block cciss: error: implicit declaration of function 'sg_init_table' 2008-04-11 08:06:44 -07:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-03-12 13:08:09 -07:00
cdrom make cdrom.c:check_for_audio_disc() static 2008-03-04 11:28:41 +01:00
char fix IS_I9XX macro in i915 DRM driver 2008-04-06 16:10:40 -07:00
clocksource
connector connector: convert to single-threaded workqueue 2008-03-23 21:51:12 -07:00
cpufreq [CPUFREQ] fix section mismatch warnings 2008-03-05 14:45:31 -05:00
cpuidle cpuidle: fix 100% C0 statistics regression 2008-03-26 00:58:19 -04:00
crypto drivers/crypto/hifn_795x.c trivial endianness annotations 2008-03-30 14:20:24 -07:00
dca
dio
dma [POWERPC] fsldma: Use compatiable binding as spec 2008-03-31 11:45:41 -05:00
edac
eisa
firewire firewire: fw-ohci: plug dma memory leak in AR handler 2008-03-27 21:01:14 +01:00
firmware ipmi: change device node ordering to reflect probe order 2008-04-04 14:46:26 -07:00
gpio gpio/pca953x bugfix: mark as can_sleep 2008-03-10 18:01:19 -07:00
hid HID: update key codes for Apple aluminium 2008-03-18 11:20:33 +01:00
hwmon hwmon: (w83781d) Fix I/O resource conflict with PNP 2008-03-27 08:40:41 -04:00
i2c i2c-tiny-usb: New VID/PID pair 2008-04-11 12:07:05 +02:00
ide it821x: do not describe noraid parameter with its value 2008-04-17 01:14:33 +02:00
ieee1394 ieee1394: sbp2: fix for SYM13FW500 bridge (Datafab disk) 2008-03-14 00:56:59 +01:00
infiniband trivial endianness annotations: infiniband core 2008-03-30 14:20:24 -07:00
input Input: appletouch - add product IDs for the 4th generation MacBooks 2008-04-02 10:14:29 -04:00
isdn [ISDN]: Do not validate ISDN net device address prior to interface-up 2008-04-13 22:44:20 -07:00
leds leds: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
lguest misc __user misannotations (pointless casts to long) 2008-03-30 14:20:23 -07:00
macintosh [POWERPC] Fix build of modular drivers/macintosh/apm_emu.c 2008-03-13 10:09:27 +11:00
mca
md md: close a livelock window in handle_parity_checks5 2008-04-11 08:06:44 -07:00
media pvrusb2: fix broken build due to patch order dependency 2008-04-07 19:14:34 -07:00
memstick memstick: suppress uninitialized-var warning 2008-03-28 14:45:23 -07:00
message [SCSI] mpt fusion: Power Management fixes for MPT SAS PCI-E controllers 2008-03-18 15:13:40 -05:00
mfd mfd/asic3: ioread/iowrite take pointer, not unsigned long 2008-03-30 14:20:24 -07:00
misc misc: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
mmc mmc: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
mtd mtd/chips: add missing set_current_state() to cfi_{amdstd,staa}_sync() 2008-04-08 18:25:53 -07:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-04-16 07:44:27 -07:00
nubus
of
oprofile
parisc [PARISC] make ptr_to_pide() static 2008-03-15 19:17:12 -07:00
parport parport_pc: make sure to release IO ports after probing for IT87XX 2008-04-04 14:30:31 -07:00
pci pci: revert SMBus unhide on HP Compaq nx6110 2008-03-28 14:45:22 -07:00
pcmcia pcmcia: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
pnp pnpacpi: reduce printk severity for "pnpacpi: exceeded the max number of ..." 2008-03-26 14:22:20 -04:00
power
ps3
rapidio docbook: fix rapidio source files 2008-03-03 10:47:13 -08:00
rtc rtc: fix the error in the function of cmos_set_alarm 2008-04-15 19:35:40 -07:00
s390 [S390] dasd: fix double elevator_exit call when deadline iosched fails to load 2008-04-17 07:46:55 +02:00
sbus
scsi scsi: fix sense_slab/bio swapping livelock 2008-04-06 16:10:08 -07:00
serial serial: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
sh maple: fix device detection 2008-02-26 14:12:09 +09:00
sn ioc3.c: replace remaining __FUNCTION__ occurrences 2008-03-17 08:11:48 -04:00
spi spi: spi_s3c24xx must initialize num_chipselect 2008-04-15 19:35:41 -07:00
ssb ssb: Fix usage of struct device used for DMAing 2008-04-15 15:04:35 -04:00
tc
telephony
thermal acpi thermal trip points increased to 12 2008-04-15 19:35:41 -07:00
uio UIO: add pgprot_noncached() to UIO mmap code 2008-03-24 22:33:49 -07:00
usb USB: remove broken usb-serial num_endpoints check 2008-04-15 22:30:53 -07:00
video fbdev: fix /proc/fb oops after module removal 2008-04-15 19:35:40 -07:00
virtio virtio: remove overzealous BUG_ON. 2008-04-07 13:14:22 -07:00
w1 ds1wm: report bus reset error 2008-03-04 16:35:12 -08:00
watchdog watchdog: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
xen xen: fix grant table bug 2008-04-04 18:36:46 +02:00
zorro
Kconfig
Makefile