Re: [PATCH] mtd: blktrans: change blktrans_getgeo rerurn value

From: Wenlin Kang
Date: Thu May 21 2015 - 02:50:31 EST


On 2015å05æ21æ 03:47, nick wrote:

On 2015-05-20 03:33 PM, Brian Norris wrote:
Hi Wenlin,

In the subject:

s/rerurn/return/

Thanks for pointing out this, I will modify it.


On Wed, May 13, 2015 at 02:29:16PM +0800, Wenlin Kang wrote:
Modify function blktrans_getgeo()'s return value to -ENXIO when
dev->tr->getgeo == NULL.

We shouldn't make the return value to 0 when dev->tr->getgeo == NULL,
because the function blktrans_getgeo() has an output value "hd_geometry"
which is usually used by some application, if return 0, it will make some
application get the wrong information.

Signed-off-by: Wenlin Kang <wenlin.kang@xxxxxxxxxxxxx>
---
drivers/mtd/mtd_blkdevs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
index 2b0c5287..f8bb16e 100644
--- a/drivers/mtd/mtd_blkdevs.c
+++ b/drivers/mtd/mtd_blkdevs.c
@@ -273,7 +273,7 @@ static int blktrans_getgeo(struct block_device *bdev, struct hd_geometry *geo)
if (!dev->mtd)
goto unlock;
- ret = dev->tr->getgeo ? dev->tr->getgeo(dev, geo) : 0;
+ ret = dev->tr->getgeo ? dev->tr->getgeo(dev, geo) : -ENXIO;
Good catch. I don't think ENXIO is correct in this case, though. Maybe
-EOPNOTSUPP or -ENOSYS? The latter might make more sense I guess.

I would recommend -EOPNOTSUPP as this as nothing to do with unimplemented
functions or hardware support. This is just unsupported due to the value
being NULL and therefore the hardware support is not there.
Just My Option,
Nick

As you said, -EOPNOTSUPP might be better,thanks.


Hi Brian

I have remade the patch and attached it, would you please check it again? thanks.


unlock:
mutex_unlock(&dev->lock);
blktrans_dev_put(dev);
Thanks,
Brian

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/




--
Thanks,
Wenlin Kang