]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
libata: fix locking around blk_abort_request()
authorTejun Heo <tj@kernel.org>
Wed, 14 Apr 2010 23:57:37 +0000 (08:57 +0900)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 12 May 2010 21:56:59 +0000 (14:56 -0700)
commit03f7b5c5020942f14e83ec2eb2bd89134f7f3919
treed68132b4de8ede81ae4182e72a6a210b0535e6a4
parenta2cea9c7ccc593386385afd3a35ccf0bb9143bcc
libata: fix locking around blk_abort_request()

commit fa41efdae7de61191a7bda3a00e88ef69afb5bb9 upstream.

blk_abort_request() expectes queue lock to be held by the caller.
Grab it before calling the function.

Lack of this synchronization led to infinite loop on corrupt
q->timeout_list.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/ata/libata-eh.c