diff options
| author | Jiri Kosina <[email protected]> | 2022-01-10 09:55:44 +0100 |
|---|---|---|
| committer | Jiri Kosina <[email protected]> | 2022-01-10 09:55:44 +0100 |
| commit | c524559acd5d0903fa6e3b8e608bf5851de7217a (patch) | |
| tree | 91acebdb63e32973d08f93c21f44aae0f4c5ccc8 /drivers/net/wireguard/queueing.c | |
| parent | fce0d275843712db6f9b611856f539da29ad5529 (diff) | |
| parent | 8590222e4b021054a7167a4dd35b152a8ed7018e (diff) | |
Merge branch 'for-5.17/hidraw' into for-linus
- locking performance improvement for hidraw code (André Almeida)
Diffstat (limited to 'drivers/net/wireguard/queueing.c')
| -rw-r--r-- | drivers/net/wireguard/queueing.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireguard/queueing.c b/drivers/net/wireguard/queueing.c index 48e7b982a307..1de413b19e34 100644 --- a/drivers/net/wireguard/queueing.c +++ b/drivers/net/wireguard/queueing.c @@ -38,11 +38,11 @@ int wg_packet_queue_init(struct crypt_queue *queue, work_func_t function, return 0; } -void wg_packet_queue_free(struct crypt_queue *queue) +void wg_packet_queue_free(struct crypt_queue *queue, bool purge) { free_percpu(queue->worker); - WARN_ON(!__ptr_ring_empty(&queue->ring)); - ptr_ring_cleanup(&queue->ring, NULL); + WARN_ON(!purge && !__ptr_ring_empty(&queue->ring)); + ptr_ring_cleanup(&queue->ring, purge ? (void(*)(void*))kfree_skb : NULL); } #define NEXT(skb) ((skb)->prev) |