diff options
Diffstat (limited to 'drivers/block/nbd.c')
-rw-r--r-- | drivers/block/nbd.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index be5ec3a9b1fc..d7a421579908 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c | |||
@@ -233,8 +233,7 @@ error_out: | |||
233 | 233 | ||
234 | static struct request *nbd_find_request(struct nbd_device *lo, char *handle) | 234 | static struct request *nbd_find_request(struct nbd_device *lo, char *handle) |
235 | { | 235 | { |
236 | struct request *req; | 236 | struct request *req, *tmp; |
237 | struct list_head *tmp; | ||
238 | struct request *xreq; | 237 | struct request *xreq; |
239 | int err; | 238 | int err; |
240 | 239 | ||
@@ -245,8 +244,7 @@ static struct request *nbd_find_request(struct nbd_device *lo, char *handle) | |||
245 | goto out; | 244 | goto out; |
246 | 245 | ||
247 | spin_lock(&lo->queue_lock); | 246 | spin_lock(&lo->queue_lock); |
248 | list_for_each(tmp, &lo->queue_head) { | 247 | list_for_each_entry_safe(req, tmp, &lo->queue_head, queuelist) { |
249 | req = list_entry(tmp, struct request, queuelist); | ||
250 | if (req != xreq) | 248 | if (req != xreq) |
251 | continue; | 249 | continue; |
252 | list_del_init(&req->queuelist); | 250 | list_del_init(&req->queuelist); |