[PATCH v2] mtd: fix 'write: Invalid argument' while writing to nand-bb devices

Sascha Hauer s.hauer at pengutronix.de
Mon Jul 16 03:10:35 EDT 2012


On Thu, Jul 12, 2012 at 11:46:02AM +0200, Jan Luebbe wrote:
> The 'off_t cur_ofs' variable was missed during the 64 bit conversion.
> For the MEMGETBADBLOCK ioctl, a pointer to a loff_t is needed.
> 
> Also adjust the debug format strings.

Applied, thanks

Sascha

> 
> Signed-off-by: Jan Luebbe <jlu at pengutronix.de>
> ---
>  drivers/mtd/nand/nand-bb.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/mtd/nand/nand-bb.c b/drivers/mtd/nand/nand-bb.c
> index 5b06a9e..519337e 100644
> --- a/drivers/mtd/nand/nand-bb.c
> +++ b/drivers/mtd/nand/nand-bb.c
> @@ -60,7 +60,7 @@ static ssize_t nand_bb_read(struct cdev *cdev, void *buf, size_t count,
>  	struct cdev *parent = bb->cdev_parent;
>  	int ret, bytes = 0, now;
>  
> -	debug("%s %d %d\n", __func__, offset, count);
> +	debug("%s 0x%08llx %d\n", __func__, offset, count);
>  
>  	while(count) {
>  		ret = cdev_ioctl(parent, MEMGETBADBLOCK, &bb->offset);
> @@ -96,7 +96,7 @@ static int nand_bb_write_buf(struct nand_bb *bb, size_t count)
>  	int ret, now;
>  	struct cdev *parent = bb->cdev_parent;
>  	void *buf = bb->writebuf;
> -	off_t cur_ofs = bb->offset & ~(BB_WRITEBUF_SIZE - 1);
> +	loff_t cur_ofs = bb->offset & ~(BB_WRITEBUF_SIZE - 1);
>  
>  	while (count) {
>  		ret = cdev_ioctl(parent, MEMGETBADBLOCK, &cur_ofs);
> @@ -104,7 +104,7 @@ static int nand_bb_write_buf(struct nand_bb *bb, size_t count)
>  			return ret;
>  
>  		if (ret) {
> -			debug("skipping bad block at 0x%08x\n", cur_ofs);
> +			debug("skipping bad block at 0x%08llx\n", cur_ofs);
>  			bb->offset += bb->info.erasesize;
>  			cur_ofs += bb->info.erasesize;
>  			continue;
> -- 
> 1.7.10.4
> 
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list