diff options
Diffstat (limited to 'drivers/block/aoe/aoeblk.c')
-rw-r--r-- | drivers/block/aoe/aoeblk.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c index 0c39782b2660..fd2cf5439a1c 100644 --- a/drivers/block/aoe/aoeblk.c +++ b/drivers/block/aoe/aoeblk.c | |||
@@ -158,9 +158,9 @@ aoeblk_release(struct inode *inode, struct file *filp) | |||
158 | static int | 158 | static int |
159 | aoeblk_make_request(struct request_queue *q, struct bio *bio) | 159 | aoeblk_make_request(struct request_queue *q, struct bio *bio) |
160 | { | 160 | { |
161 | struct sk_buff_head queue; | ||
161 | struct aoedev *d; | 162 | struct aoedev *d; |
162 | struct buf *buf; | 163 | struct buf *buf; |
163 | struct sk_buff *sl; | ||
164 | ulong flags; | 164 | ulong flags; |
165 | 165 | ||
166 | blk_queue_bounce(q, &bio); | 166 | blk_queue_bounce(q, &bio); |
@@ -213,11 +213,11 @@ aoeblk_make_request(struct request_queue *q, struct bio *bio) | |||
213 | list_add_tail(&buf->bufs, &d->bufq); | 213 | list_add_tail(&buf->bufs, &d->bufq); |
214 | 214 | ||
215 | aoecmd_work(d); | 215 | aoecmd_work(d); |
216 | sl = d->sendq_hd; | 216 | __skb_queue_head_init(&queue); |
217 | d->sendq_hd = d->sendq_tl = NULL; | 217 | skb_queue_splice_init(&d->sendq, &queue); |
218 | 218 | ||
219 | spin_unlock_irqrestore(&d->lock, flags); | 219 | spin_unlock_irqrestore(&d->lock, flags); |
220 | aoenet_xmit(sl); | 220 | aoenet_xmit(&queue); |
221 | 221 | ||
222 | return 0; | 222 | return 0; |
223 | } | 223 | } |