summaryrefslogtreecommitdiffstats
path: root/scull
diff options
context:
space:
mode:
authorJavier Martinez Canillas <martinez.javier@gmail.com>2011-01-06 07:43:59 +0100
committerJavier Martinez Canillas <martinez.javier@gmail.com>2011-01-08 01:07:34 +0100
commit26e967f1a1dc04f6e234f617c5ce5e895c431bc2 (patch)
tree639ab11257f6fc645f5acf6766cb71f51b4e11b1 /scull
parent383b607f7fff26ec216765b20b1125897a3f360a (diff)
downloadldd3-26e967f1a1dc04f6e234f617c5ce5e895c431bc2.tar.gz
sbull: Use blk_fetch_request instead blk_peek_request to dequeue requests
The block layer request API changes make a requirement for block drivers to dequeue requests before signal its completition. Commit 1dfd4ab138fc9f9cad869e6110022c7cfd5544d1 changed sbull to use the new block layer API. But the patch only renamed the functions while keeping the old driver semantics. It used blk_peek_request() that does the same that elv_next_request() did. Remove the request from the queue before is not only a recomendation but a true requirement. Attempting to complete a request that remains in the queue make the kernel oops. So the last commit introduced a Bug. This patch uses blk_fetch_request() instead of blk_peek_request(). blk_fetch_request() not only returns the request in the head of the queue but also removes the request from the queue so a latter signaling of the request completition doesn't hang the system.
Diffstat (limited to 'scull')
0 files changed, 0 insertions, 0 deletions