diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2008-07-21 00:55:14 -0400 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2008-07-21 00:55:14 -0400 |
| commit | 908cf4b925e419bc74f3297b2f0e51d6f8a81da2 (patch) | |
| tree | 6c2da79366d4695a9c2560ab18259eca8a2a25b4 /drivers/net/xen-netfront.c | |
| parent | 92c49890922d54cba4b1eadeb0b185773c2c9570 (diff) | |
| parent | 14b395e35d1afdd8019d11b92e28041fad591b71 (diff) | |
Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into next
Diffstat (limited to 'drivers/net/xen-netfront.c')
| -rw-r--r-- | drivers/net/xen-netfront.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c index 8bddff150c70..ef671d1a3bf0 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c | |||
| @@ -946,8 +946,7 @@ err: | |||
| 946 | work_done++; | 946 | work_done++; |
| 947 | } | 947 | } |
| 948 | 948 | ||
| 949 | while ((skb = __skb_dequeue(&errq))) | 949 | __skb_queue_purge(&errq); |
| 950 | kfree_skb(skb); | ||
| 951 | 950 | ||
| 952 | work_done -= handle_incoming_queue(dev, &rxq); | 951 | work_done -= handle_incoming_queue(dev, &rxq); |
| 953 | 952 | ||
| @@ -1079,8 +1078,7 @@ static void xennet_release_rx_bufs(struct netfront_info *np) | |||
| 1079 | } | 1078 | } |
| 1080 | } | 1079 | } |
| 1081 | 1080 | ||
| 1082 | while ((skb = __skb_dequeue(&free_list)) != NULL) | 1081 | __skb_queue_purge(&free_list); |
| 1083 | dev_kfree_skb(skb); | ||
| 1084 | 1082 | ||
| 1085 | spin_unlock_bh(&np->rx_lock); | 1083 | spin_unlock_bh(&np->rx_lock); |
| 1086 | } | 1084 | } |
| @@ -1326,7 +1324,7 @@ static int setup_netfront(struct xenbus_device *dev, struct netfront_info *info) | |||
| 1326 | goto fail; | 1324 | goto fail; |
| 1327 | } | 1325 | } |
| 1328 | 1326 | ||
| 1329 | txs = (struct xen_netif_tx_sring *)get_zeroed_page(GFP_KERNEL); | 1327 | txs = (struct xen_netif_tx_sring *)get_zeroed_page(GFP_NOIO | __GFP_HIGH); |
| 1330 | if (!txs) { | 1328 | if (!txs) { |
| 1331 | err = -ENOMEM; | 1329 | err = -ENOMEM; |
| 1332 | xenbus_dev_fatal(dev, err, "allocating tx ring page"); | 1330 | xenbus_dev_fatal(dev, err, "allocating tx ring page"); |
| @@ -1342,7 +1340,7 @@ static int setup_netfront(struct xenbus_device *dev, struct netfront_info *info) | |||
| 1342 | } | 1340 | } |
| 1343 | 1341 | ||
| 1344 | info->tx_ring_ref = err; | 1342 | info->tx_ring_ref = err; |
| 1345 | rxs = (struct xen_netif_rx_sring *)get_zeroed_page(GFP_KERNEL); | 1343 | rxs = (struct xen_netif_rx_sring *)get_zeroed_page(GFP_NOIO | __GFP_HIGH); |
| 1346 | if (!rxs) { | 1344 | if (!rxs) { |
| 1347 | err = -ENOMEM; | 1345 | err = -ENOMEM; |
| 1348 | xenbus_dev_fatal(dev, err, "allocating rx ring page"); | 1346 | xenbus_dev_fatal(dev, err, "allocating rx ring page"); |
