mtd: do not use mtd->get_*_prot_info directly
Instead, call 'mtd_get_*_prot_info()' and check for '-EOPNOTSUPP'. While on it, fix the return code from '-EOPNOTSUPP' to '-EINVAL' for the case when the mode parameter is invalid. Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
dac2639f98
commit
87e858a97e
@ -919,17 +919,15 @@ static int mtdchar_ioctl(struct file *file, u_int cmd, u_long arg)
|
|||||||
struct otp_info *buf = kmalloc(4096, GFP_KERNEL);
|
struct otp_info *buf = kmalloc(4096, GFP_KERNEL);
|
||||||
if (!buf)
|
if (!buf)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
ret = -EOPNOTSUPP;
|
|
||||||
switch (mfi->mode) {
|
switch (mfi->mode) {
|
||||||
case MTD_FILE_MODE_OTP_FACTORY:
|
case MTD_FILE_MODE_OTP_FACTORY:
|
||||||
if (mtd->get_fact_prot_info)
|
ret = mtd_get_fact_prot_info(mtd, buf, 4096);
|
||||||
ret = mtd_get_fact_prot_info(mtd, buf, 4096);
|
|
||||||
break;
|
break;
|
||||||
case MTD_FILE_MODE_OTP_USER:
|
case MTD_FILE_MODE_OTP_USER:
|
||||||
if (mtd->get_user_prot_info)
|
ret = mtd_get_user_prot_info(mtd, buf, 4096);
|
||||||
ret = mtd_get_user_prot_info(mtd, buf, 4096);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
ret = -EINVAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (ret >= 0) {
|
if (ret >= 0) {
|
||||||
|
@ -342,6 +342,8 @@ static inline int mtd_write_oob(struct mtd_info *mtd, loff_t to,
|
|||||||
static inline int mtd_get_fact_prot_info(struct mtd_info *mtd,
|
static inline int mtd_get_fact_prot_info(struct mtd_info *mtd,
|
||||||
struct otp_info *buf, size_t len)
|
struct otp_info *buf, size_t len)
|
||||||
{
|
{
|
||||||
|
if (!mtd->get_fact_prot_info)
|
||||||
|
return -EOPNOTSUPP;
|
||||||
return mtd->get_fact_prot_info(mtd, buf, len);
|
return mtd->get_fact_prot_info(mtd, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -357,6 +359,8 @@ static inline int mtd_get_user_prot_info(struct mtd_info *mtd,
|
|||||||
struct otp_info *buf,
|
struct otp_info *buf,
|
||||||
size_t len)
|
size_t len)
|
||||||
{
|
{
|
||||||
|
if (!mtd->get_user_prot_info)
|
||||||
|
return -EOPNOTSUPP;
|
||||||
return mtd->get_user_prot_info(mtd, buf, len);
|
return mtd->get_user_prot_info(mtd, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user