s390/ccwgroup: obtain extra reference for asynchronous processing
authorSebastian Ott <sebott@linux.vnet.ibm.com>
Fri, 13 Jun 2014 15:02:24 +0000 (17:02 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 16 Jun 2014 08:32:24 +0000 (10:32 +0200)
commit9280ddb19489fa24e2d4f6f492d185ae1172bec2
tree7146a4e9891ae8d38f3741664e387bdd03e35ea3
parent613c4e0459603cc04384723b08fd62103b5eaaaf
s390/ccwgroup: obtain extra reference for asynchronous processing

Commit 0b60f9ead5d4816e7e3d6e28f4a0d22d4a1b2513
"s390: use device_remove_file_self() instead of device_schedule_callback()"
changed ccwgroup to use an extra work queue instead of
device_schedule_callback. This function obtained an extra device
reference for its async work which is missing in the new implementation
and results in a "freeing memory with a lock still held" BUG. Fix
this by obtaining an extra reference for the async work.

Reported-by: Stefan Raspl <raspl@linux.vnet.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/ccwgroup.c