summaryrefslogtreecommitdiff
path: root/mm
diff options
context:
space:
mode:
authorStefan Haberland <sth@linux.ibm.com>2023-07-21 22:36:46 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-09-13 10:42:22 +0300
commitd28f76be7952fb525b96d25b388dfd9c2d37faae (patch)
tree61b46cbb39f5bafb17cf001d5a090bca4e8fe81b /mm
parentd563f679a268b357a44a8d53ee5c15152e357dc5 (diff)
downloadlinux-d28f76be7952fb525b96d25b388dfd9c2d37faae.tar.xz
s390/dasd: fix hanging device after request requeue
[ Upstream commit 8a2278ce9c25048d999fe1a3561def75d963f471 ] The DASD device driver has a function to requeue requests to the blocklayer. This function is used in various cases when basic settings for the device have to be changed like High Performance Ficon related parameters or copy pair settings. The functions iterates over the device->ccw_queue and also removes the requests from the block->ccw_queue. In case the device is started on an alias device instead of the base device it might be removed from the block->ccw_queue without having it canceled properly before. This might lead to a hanging device since the request is no longer on a queue and can not be handled properly. Fix by iterating over the block->ccw_queue instead of the device->ccw_queue. This will take care of all blocklayer related requests and handle them on all associated DASD devices. Signed-off-by: Stefan Haberland <sth@linux.ibm.com> Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com> Link: https://lore.kernel.org/r/20230721193647.3889634-4-sth@linux.ibm.com Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions