Al Viro | a1f8e7f | 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 |
Ian Campbell | ea2ab69 | 2011-08-22 23:44:58 +0000 | [diff] [blame] | 10 | return kmap_atomic(skb_frag_page(frag), KM_SKB_DATA_SOFTIRQ); |
Al Viro | a1f8e7f | 2006-10-19 16:08:53 -0400 | [diff] [blame] | 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 | } |