Al Viro | a1f8e7f7 | 2006-10-19 16:08:53 -0400 | [diff] [blame] | 1 | #include <linux/highmem.h> |
2 | |||||
3 | static inline void *kmap_skb_frag(const skb_frag_t *frag) | ||||
4 | { | ||||
5 | #ifdef CONFIG_HIGHMEM | ||||
6 | BUG_ON(in_irq()); | ||||
7 | |||||
8 | local_bh_disable(); | ||||
9 | #endif | ||||
10 | return kmap_atomic(frag->page, KM_SKB_DATA_SOFTIRQ); | ||||
11 | } | ||||
12 | |||||
13 | static inline void kunmap_skb_frag(void *vaddr) | ||||
14 | { | ||||
15 | kunmap_atomic(vaddr, KM_SKB_DATA_SOFTIRQ); | ||||
16 | #ifdef CONFIG_HIGHMEM | ||||
17 | local_bh_enable(); | ||||
18 | #endif | ||||
19 | } |