All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] MTD: Fix wrong check register_blkdev return value
@ 2010-10-26  3:02 Frank Li
  2010-10-28  1:30 ` Li Frank-B20596
  0 siblings, 1 reply; 2+ messages in thread
From: Frank Li @ 2010-10-26  3:02 UTC (permalink / raw)
  To: linux-mtd; +Cc: Frank Li

register_blkdev return 1..255 when major = 0.

if (ret ) {
	printk(KERN_WARNING "Unable to register %s block device on major %d: %d\n",
		tr->name, tr->major, ret);
	      mutex_unlock(&mtd_table_mutex);
	return ret;
}

Above code will return fail when register_blkdev return allocated major number.

Signed-off-by: Frank Li <Frank.Li@freescale.com>
---
 drivers/mtd/mtd_blkdevs.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
index a919587..63790e9 100644
--- a/drivers/mtd/mtd_blkdevs.c
+++ b/drivers/mtd/mtd_blkdevs.c
@@ -502,13 +502,16 @@ int register_mtd_blktrans(struct mtd_blktrans_ops *tr)
 	mutex_lock(&mtd_table_mutex);
 
 	ret = register_blkdev(tr->major, tr->name);
-	if (ret) {
+	if (ret < 0) {
 		printk(KERN_WARNING "Unable to register %s block device on major %d: %d\n",
 		       tr->name, tr->major, ret);
 		mutex_unlock(&mtd_table_mutex);
 		return ret;
 	}
 
+	if (ret)
+		tr->major = ret;
+
 	tr->blkshift = ffs(tr->blksize) - 1;
 
 	INIT_LIST_HEAD(&tr->devs);
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* RE: [PATCH 1/1] MTD: Fix wrong check register_blkdev return value
  2010-10-26  3:02 [PATCH 1/1] MTD: Fix wrong check register_blkdev return value Frank Li
@ 2010-10-28  1:30 ` Li Frank-B20596
  0 siblings, 0 replies; 2+ messages in thread
From: Li Frank-B20596 @ 2010-10-28  1:30 UTC (permalink / raw)
  To: linux-mtd

Why no one review my patch? That's fix a bug when major is zero at mtd
blktrans layer.

> -----Original Message-----
> From: Li Frank-B20596
> Sent: Tuesday, October 26, 2010 11:02 AM
> To: linux-mtd@lists.infradead.org
> Cc: Li Frank-B20596
> Subject: [PATCH 1/1] MTD: Fix wrong check register_blkdev return value
> 
> register_blkdev return 1..255 when major = 0.
> 
> if (ret ) {
> 	printk(KERN_WARNING "Unable to register %s block device on
> major %d: %d\n",
> 		tr->name, tr->major, ret);
> 	      mutex_unlock(&mtd_table_mutex);
> 	return ret;
> }
> 
> Above code will return fail when register_blkdev return allocated
major
> number.
> 
> Signed-off-by: Frank Li <Frank.Li@freescale.com>
> ---
>  drivers/mtd/mtd_blkdevs.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
> index a919587..63790e9 100644
> --- a/drivers/mtd/mtd_blkdevs.c
> +++ b/drivers/mtd/mtd_blkdevs.c
> @@ -502,13 +502,16 @@ int register_mtd_blktrans(struct
mtd_blktrans_ops
> *tr)
>  	mutex_lock(&mtd_table_mutex);
> 
>  	ret = register_blkdev(tr->major, tr->name);
> -	if (ret) {
> +	if (ret < 0) {
>  		printk(KERN_WARNING "Unable to register %s block device
on
> major %d: %d\n",
>  		       tr->name, tr->major, ret);
>  		mutex_unlock(&mtd_table_mutex);
>  		return ret;
>  	}
> 
> +	if (ret)
> +		tr->major = ret;
> +
>  	tr->blkshift = ffs(tr->blksize) - 1;
> 
>  	INIT_LIST_HEAD(&tr->devs);
> --
> 1.7.1

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-10-28  1:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-26  3:02 [PATCH 1/1] MTD: Fix wrong check register_blkdev return value Frank Li
2010-10-28  1:30 ` Li Frank-B20596

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.