summaryrefslogtreecommitdiff
path: root/block/fops.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2023-05-30 22:41:29 +0300
committerMark Brown <broonie@kernel.org>2023-05-30 22:41:29 +0300
commitb48aa6a3577cccd13ea21392540f6cde437dd04d (patch)
tree77091078bd9c3fd7c38efea83ec71a0719676819 /block/fops.c
parentf2d4aa7e97eb60f426b92b95da712a6b3c18dc9a (diff)
parent60413129ee2b38a80347489270af7f6e1c1de4d0 (diff)
downloadlinux-b48aa6a3577cccd13ea21392540f6cde437dd04d.tar.xz
ES8316 audio codec fixes on Rock5B
Merge series from Cristian Ciocaltea <cristian.ciocaltea@collabora.com>: This patch series handles a few issues related to the ES8316 audio codec, discovered while doing some testing on the Rock 5B board.
Diffstat (limited to 'block/fops.c')
-rw-r--r--block/fops.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/block/fops.c b/block/fops.c
index d2e6be4e3d1c..58d0aebc7313 100644
--- a/block/fops.c
+++ b/block/fops.c
@@ -678,6 +678,16 @@ static long blkdev_fallocate(struct file *file, int mode, loff_t start,
return error;
}
+static int blkdev_mmap(struct file *file, struct vm_area_struct *vma)
+{
+ struct inode *bd_inode = bdev_file_inode(file);
+
+ if (bdev_read_only(I_BDEV(bd_inode)))
+ return generic_file_readonly_mmap(file, vma);
+
+ return generic_file_mmap(file, vma);
+}
+
const struct file_operations def_blk_fops = {
.open = blkdev_open,
.release = blkdev_close,
@@ -685,7 +695,7 @@ const struct file_operations def_blk_fops = {
.read_iter = blkdev_read_iter,
.write_iter = blkdev_write_iter,
.iopoll = iocb_bio_iopoll,
- .mmap = generic_file_mmap,
+ .mmap = blkdev_mmap,
.fsync = blkdev_fsync,
.unlocked_ioctl = blkdev_ioctl,
#ifdef CONFIG_COMPAT