diff options
author | Richard Weinberger <richard@nod.at> | 2020-05-02 14:48:02 +0200 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2020-05-17 23:38:21 +0200 |
commit | 0e7572cffe442290c347e779bf8bd4306bb0aa7c (patch) | |
tree | dd81c3013fbd0a812798eea33d8423ed78d68668 | |
parent | 3c3c32f85b6cc05e5db78693457deff03ac0f434 (diff) | |
download | linux-0e7572cffe442290c347e779bf8bd4306bb0aa7c.tar.gz linux-0e7572cffe442290c347e779bf8bd4306bb0aa7c.tar.bz2 linux-0e7572cffe442290c347e779bf8bd4306bb0aa7c.zip |
ubi: Fix seq_file usage in detailed_erase_block_info debugfs file
3bfa7e141b0b ("fs/seq_file.c: seq_read(): add info message about buggy .next functions")
showed that we don't use seq_file correctly.
So make sure that our ->next function always updates the position.
Fixes: 7bccd12d27b7 ("ubi: Add debugfs file for tracking PEB state")
Signed-off-by: Richard Weinberger <richard@nod.at>
-rw-r--r-- | drivers/mtd/ubi/debug.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/mtd/ubi/debug.c b/drivers/mtd/ubi/debug.c index 54646c2c2744..ac2bdba8bb1a 100644 --- a/drivers/mtd/ubi/debug.c +++ b/drivers/mtd/ubi/debug.c @@ -393,9 +393,6 @@ static void *eraseblk_count_seq_start(struct seq_file *s, loff_t *pos) { struct ubi_device *ubi = s->private; - if (*pos == 0) - return SEQ_START_TOKEN; - if (*pos < ubi->peb_count) return pos; @@ -409,8 +406,6 @@ static void *eraseblk_count_seq_next(struct seq_file *s, void *v, loff_t *pos) { struct ubi_device *ubi = s->private; - if (v == SEQ_START_TOKEN) - return pos; (*pos)++; if (*pos < ubi->peb_count) @@ -432,11 +427,8 @@ static int eraseblk_count_seq_show(struct seq_file *s, void *iter) int err; /* If this is the start, print a header */ - if (iter == SEQ_START_TOKEN) { - seq_puts(s, - "physical_block_number\terase_count\tblock_status\tread_status\n"); - return 0; - } + if (*block_number == 0) + seq_puts(s, "physical_block_number\terase_count\n"); err = ubi_io_is_bad(ubi, *block_number); if (err) |