static int mmc_blk_open(struct inode *inode, struct file *filp) { struct mmc_blk_data *md; int ret = -ENXIO; md = mmc_blk_get(inode->i_bdev->bd_disk); if (md) { if (md->usage == 2) check_disk_change(inode->i_bdev); ret = 0; } return ret; }
static int mmc_blk_open(struct inode *inode, struct file *filp) { struct mmc_blk_data *md; int ret = -ENXIO; md = mmc_blk_get(inode->i_bdev->bd_disk); if (md) { if (md->usage == 2) check_disk_change(inode->i_bdev); ret = 0; if ((filp->f_mode & FMODE_WRITE) && md->read_only) ret = -EROFS; } return ret; }