diff options
| -rw-r--r-- | drivers/mtd/ubi/fastmap.c | 10 | ||||
| -rw-r--r-- | fs/ubifs/dir.c | 8 |
2 files changed, 13 insertions, 5 deletions
diff --git a/drivers/mtd/ubi/fastmap.c b/drivers/mtd/ubi/fastmap.c index 2ff62157d3bb..c1f5c29e458e 100644 --- a/drivers/mtd/ubi/fastmap.c +++ b/drivers/mtd/ubi/fastmap.c | |||
| @@ -707,11 +707,11 @@ static int ubi_attach_fastmap(struct ubi_device *ubi, | |||
| 707 | fmvhdr->vol_type, | 707 | fmvhdr->vol_type, |
| 708 | be32_to_cpu(fmvhdr->last_eb_bytes)); | 708 | be32_to_cpu(fmvhdr->last_eb_bytes)); |
| 709 | 709 | ||
| 710 | if (!av) | 710 | if (IS_ERR(av)) { |
| 711 | goto fail_bad; | 711 | if (PTR_ERR(av) == -EEXIST) |
| 712 | if (PTR_ERR(av) == -EINVAL) { | 712 | ubi_err(ubi, "volume (ID %i) already exists", |
| 713 | ubi_err(ubi, "volume (ID %i) already exists", | 713 | fmvhdr->vol_id); |
| 714 | fmvhdr->vol_id); | 714 | |
| 715 | goto fail_bad; | 715 | goto fail_bad; |
| 716 | } | 716 | } |
| 717 | 717 | ||
diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c index bd4a5e8ce441..ca16c5d7bab1 100644 --- a/fs/ubifs/dir.c +++ b/fs/ubifs/dir.c | |||
| @@ -543,6 +543,14 @@ out: | |||
| 543 | 543 | ||
| 544 | if (err != -ENOENT) | 544 | if (err != -ENOENT) |
| 545 | ubifs_err(c, "cannot find next direntry, error %d", err); | 545 | ubifs_err(c, "cannot find next direntry, error %d", err); |
| 546 | else | ||
| 547 | /* | ||
| 548 | * -ENOENT is a non-fatal error in this context, the TNC uses | ||
| 549 | * it to indicate that the cursor moved past the current directory | ||
| 550 | * and readdir() has to stop. | ||
| 551 | */ | ||
| 552 | err = 0; | ||
| 553 | |||
| 546 | 554 | ||
| 547 | /* 2 is a special value indicating that there are no more direntries */ | 555 | /* 2 is a special value indicating that there are no more direntries */ |
| 548 | ctx->pos = 2; | 556 | ctx->pos = 2; |
