diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-11 12:33:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-11 12:33:18 -0400 |
commit | 4dd9ec4946b4651a295d3bc8df9c15ac692a8f4e (patch) | |
tree | afb300c752de7175bb2df4722d5c857e070c75d9 /drivers/block/aoe/aoedev.c | |
parent | 86ed5a93b8b56e4e0877b914af0e10883a196384 (diff) | |
parent | 6861ff35ec5b60fafaf8651754c9a75142bfa9a4 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1075 commits)
myri10ge: update driver version number to 1.4.3-1.369
r8169: add shutdown handler
r8169: preliminary 8168d support
r8169: support additional 8168cp chipset
r8169: change default behavior for mildly identified 8168c chipsets
r8169: add a new 8168cp flavor
r8169: add a new 8168c flavor (bis)
r8169: add a new 8168c flavor
r8169: sync existing 8168 device hardware start sequences with vendor driver
r8169: 8168b Tx performance tweak
r8169: make room for more specific 8168 hardware start procedure
r8169: shuffle some registers handling around (8168 operation only)
r8169: new phy init parameters for the 8168b
r8169: update phy init parameters
r8169: wake up the PHY of the 8168
af_key: fix SADB_X_SPDDELETE response
ath9k: Fix return code when ath9k_hw_setpower() fails on reset
ath9k: remove nasty FAIL macro from ath9k_hw_reset()
gre: minor cleanups in netlink interface
gre: fix copy and paste error
...
Diffstat (limited to 'drivers/block/aoe/aoedev.c')
-rw-r--r-- | drivers/block/aoe/aoedev.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c index 6a8038d115b5..cc250577d405 100644 --- a/drivers/block/aoe/aoedev.c +++ b/drivers/block/aoe/aoedev.c | |||
@@ -188,14 +188,12 @@ skbfree(struct sk_buff *skb) | |||
188 | static void | 188 | static void |
189 | skbpoolfree(struct aoedev *d) | 189 | skbpoolfree(struct aoedev *d) |
190 | { | 190 | { |
191 | struct sk_buff *skb; | 191 | struct sk_buff *skb, *tmp; |
192 | 192 | ||
193 | while ((skb = d->skbpool_hd)) { | 193 | skb_queue_walk_safe(&d->skbpool, skb, tmp) |
194 | d->skbpool_hd = skb->next; | ||
195 | skb->next = NULL; | ||
196 | skbfree(skb); | 194 | skbfree(skb); |
197 | } | 195 | |
198 | d->skbpool_tl = NULL; | 196 | __skb_queue_head_init(&d->skbpool); |
199 | } | 197 | } |
200 | 198 | ||
201 | /* find it or malloc it */ | 199 | /* find it or malloc it */ |
@@ -217,6 +215,8 @@ aoedev_by_sysminor_m(ulong sysminor) | |||
217 | goto out; | 215 | goto out; |
218 | INIT_WORK(&d->work, aoecmd_sleepwork); | 216 | INIT_WORK(&d->work, aoecmd_sleepwork); |
219 | spin_lock_init(&d->lock); | 217 | spin_lock_init(&d->lock); |
218 | skb_queue_head_init(&d->sendq); | ||
219 | skb_queue_head_init(&d->skbpool); | ||
220 | init_timer(&d->timer); | 220 | init_timer(&d->timer); |
221 | d->timer.data = (ulong) d; | 221 | d->timer.data = (ulong) d; |
222 | d->timer.function = dummy_timer; | 222 | d->timer.function = dummy_timer; |