aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/bio.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/bio.h')
-rw-r--r--include/linux/bio.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 0942765cf8c0..2aa283ab062b 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -451,12 +451,13 @@ extern struct biovec_slab bvec_slabs[BIOVEC_NR_POOLS] __read_mostly;
451 451
452#ifdef CONFIG_HIGHMEM 452#ifdef CONFIG_HIGHMEM
453/* 453/*
454 * remember to add offset! and never ever reenable interrupts between a 454 * remember never ever reenable interrupts between a bvec_kmap_irq and
455 * bvec_kmap_irq and bvec_kunmap_irq!! 455 * bvec_kunmap_irq!
456 * 456 *
457 * This function MUST be inlined - it plays with the CPU interrupt flags. 457 * This function MUST be inlined - it plays with the CPU interrupt flags.
458 */ 458 */
459static inline char *bvec_kmap_irq(struct bio_vec *bvec, unsigned long *flags) 459static __always_inline char *bvec_kmap_irq(struct bio_vec *bvec,
460 unsigned long *flags)
460{ 461{
461 unsigned long addr; 462 unsigned long addr;
462 463
@@ -472,7 +473,8 @@ static inline char *bvec_kmap_irq(struct bio_vec *bvec, unsigned long *flags)
472 return (char *) addr + bvec->bv_offset; 473 return (char *) addr + bvec->bv_offset;
473} 474}
474 475
475static inline void bvec_kunmap_irq(char *buffer, unsigned long *flags) 476static __always_inline void bvec_kunmap_irq(char *buffer,
477 unsigned long *flags)
476{ 478{
477 unsigned long ptr = (unsigned long) buffer & PAGE_MASK; 479 unsigned long ptr = (unsigned long) buffer & PAGE_MASK;
478 480