diff options
author | Alan Hourihane <alanh@fairlite.demon.co.uk> | 2001-04-03 07:50:30 +0000 |
---|---|---|
committer | Alan Hourihane <alanh@fairlite.demon.co.uk> | 2001-04-03 07:50:30 +0000 |
commit | 4259e5e61716d321aa3c1ac6d7ad4bf0e3c39a38 (patch) | |
tree | db8ac8a4e46b731ab023b7b33cf9cf103454411d | |
parent | 62d49315299f4483b2e7fb44f21d6b09cef01afd (diff) |
make 2.4.2 -> 2.4.3 change conditional. works with older than 2.4.3 kernels
again.
-rw-r--r-- | linux-core/drm_bufs.c | 16 | ||||
-rw-r--r-- | linux/drm_bufs.h | 16 |
2 files changed, 32 insertions, 0 deletions
diff --git a/linux-core/drm_bufs.c b/linux-core/drm_bufs.c index f310eced..d3ca48b4 100644 --- a/linux-core/drm_bufs.c +++ b/linux-core/drm_bufs.c @@ -768,18 +768,34 @@ int DRM(mapbufs)( struct inode *inode, struct file *filp, goto done; } +#if LINUX_VERSION_CODE < 0x020402 + down( ¤t->mm->mmap_sem ); +#else down_write( ¤t->mm->mmap_sem ); +#endif virtual = do_mmap( filp, 0, map->size, PROT_READ | PROT_WRITE, MAP_SHARED, (unsigned long)map->offset ); +#if LINUX_VERSION_CODE < 0x020402 + up( ¤t->mm->mmap_sem ); +#else up_write( ¤t->mm->mmap_sem ); +#endif } else { +#if LINUX_VERSION_CODE < 0x020402 + down( ¤t->mm->mmap_sem ); +#else down_write( ¤t->mm->mmap_sem ); +#endif virtual = do_mmap( filp, 0, dma->byte_count, PROT_READ | PROT_WRITE, MAP_SHARED, 0 ); +#if LINUX_VERSION_CODE < 0x020402 + up( ¤t->mm->mmap_sem ); +#else up_write( ¤t->mm->mmap_sem ); +#endif } if ( virtual > -1024UL ) { /* Real error */ diff --git a/linux/drm_bufs.h b/linux/drm_bufs.h index f310eced..d3ca48b4 100644 --- a/linux/drm_bufs.h +++ b/linux/drm_bufs.h @@ -768,18 +768,34 @@ int DRM(mapbufs)( struct inode *inode, struct file *filp, goto done; } +#if LINUX_VERSION_CODE < 0x020402 + down( ¤t->mm->mmap_sem ); +#else down_write( ¤t->mm->mmap_sem ); +#endif virtual = do_mmap( filp, 0, map->size, PROT_READ | PROT_WRITE, MAP_SHARED, (unsigned long)map->offset ); +#if LINUX_VERSION_CODE < 0x020402 + up( ¤t->mm->mmap_sem ); +#else up_write( ¤t->mm->mmap_sem ); +#endif } else { +#if LINUX_VERSION_CODE < 0x020402 + down( ¤t->mm->mmap_sem ); +#else down_write( ¤t->mm->mmap_sem ); +#endif virtual = do_mmap( filp, 0, dma->byte_count, PROT_READ | PROT_WRITE, MAP_SHARED, 0 ); +#if LINUX_VERSION_CODE < 0x020402 + up( ¤t->mm->mmap_sem ); +#else up_write( ¤t->mm->mmap_sem ); +#endif } if ( virtual > -1024UL ) { /* Real error */ |