From: "Frantisek Rysanek" <Frantisek.Rysanek@post.cz>
To: linux-mtd@lists.infradead.org
Subject: (Fwd) several bugfixes/workarounds in mtd snapshot of 20041226
Date: Mon, 03 Jan 2005 07:49:07 +0100 [thread overview]
Message-ID: <41D8F8F3.13501.243F9136@localhost> (raw)
[-- Attachment #1: Mail message body --]
[-- Type: text/plain, Size: 1207 bytes --]
Dear MTD maintainers,
I suggest several bugfixes and workarounds against the
snapshot of 20041226 (inserted into a vanilla 2.4.28) - see
the attached patch.
I hope it's not a problem that my message is posted a few days
later than I would've liked - I didn't notice I had to
subscribe to be able to post :-)
I'm using DiskOnChip devices in various sorts of Advantech
hardware. I'm compiling my MTD drivers for the DiskOnChip
alone - I don't want to include all the other MTD stuff
(useless to me).
Bugs fixed / worked around:
1) if you flush the partition table and issue a BLKRRPART
(i.e., you re-partition the diskonchip), the reported device
size shrinks to one half of the original. If you do this again
before a reboot, the size shrinks again (now one quarter).
Seems like the driver would re-init device size to a size denominated in 1k blocks,
rather than sectors (512B).
2) in my DiskOnChip-only setup, CONFIG_MTD_MAP_BANK_WIDTH_1
is missing in the .config. I've added that straight to $LINUX/include/linux/map.h
3) two #includes seem to be missing in $MTD/nand/diskonchip.c
4) the Reed-Solomon library hooks are messed up in $LINUX/lib/Config.in
I hope this helps
Frank Rysanek
[-- Attachment #2: - --]
[-- Type: Application/Octet-stream, Size: 1137 bytes --]
Dear MTD maintainers,
I suggest several bugfixes and workarounds against the
snapshot of 20041226 (inserted into a vanilla 2.4.28) - see
the attached patch.
I'm using DiskOnChip devices in various sorts of Advantech
hardware. I'm compiling my MTD drivers for the DiskOnChip
alone - I don't want to include all the other MTD stuff
(useless to me).
Bugs fixed / worked around:
1) if you flush the partition table and issue a BLKRRPART
(i.e., you re-partition the diskonchip), the reported device
size shrinks to one half of the original. If you do this again
before a reboot, the size shrinks again (now one quarter).
Seems like the driver would re-init device size to a size denominated in 1k blocks,
rather than sectors (512B).
2) in my DiskOnChip-only setup, CONFIG_MTD_MAP_BANK_WIDTH_1
is missing in the .config. I've added that straight to $LINUX/include/linux/map.h
3) two #includes seem to be missing in $MTD/nand/diskonchip.c
4) the Reed-Solomon library hooks are messed up in $LINUX/lib/Config.in
I hope this helps
Frank Rysanek
Attachments:
G:\vymena\mtd-bugs.20041226.patch
[-- Attachment #3: Text from file 'mtd-bugs.20041226.patch' --]
[-- Type: text/plain, Size: 1910 bytes --]
--- linux_with_mtd_bugs/drivers/mtd/mtd_blkdevs-24.c 2004-12-27 14:48:52.000000000 +0100
+++ linux/drivers/mtd/mtd_blkdevs-24.c 2004-12-29 14:32:14.000000000 +0100
@@ -315,7 +315,7 @@
}
grok_partitions(gd, minor, 1 << tr->part_bits,
- tr->blkcore_priv->sizes[minor]);
+ dev->size);
up(&mtd_table_mutex);
return 0;
--- linux_with_mtd_bugs/include/linux/mtd/map.h 2004-12-27 14:48:54.000000000 +0100
+++ linux/include/linux/mtd/map.h 2004-12-27 15:33:58.000000000 +0100
@@ -14,6 +14,10 @@
#include <asm/io.h>
#include <asm/bug.h>
+#ifndef CONFIG_MTD_CFI_GEOMETRY
+#define CONFIG_MTD_MAP_BANK_WIDTH_1
+#endif
+
#ifdef CONFIG_MTD_MAP_BANK_WIDTH_1
#define map_bankwidth(map) 1
#define map_bankwidth_is_1(map) (map_bankwidth(map) == 1)
--- linux_with_mtd_bugs/drivers/mtd/nand/diskonchip.c 2004-12-27 14:48:53.000000000 +0100
+++ linux/drivers/mtd/nand/diskonchip.c 2004-12-27 13:39:56.000000000 +0100
@@ -24,6 +24,8 @@
#include <linux/sched.h>
#include <linux/delay.h>
#include <linux/rslib.h>
+#include <linux/moduleparam.h>
+#include <linux/rslib.h>
#include <asm/io.h>
#include <linux/mtd/mtd.h>
--- linux_with_mtd_bugs/lib/Config.in 2004-12-27 14:48:54.000000000 +0100
+++ linux/lib/Config.in 2004-12-29 14:37:35.000000000 +0100
@@ -43,13 +43,15 @@
if [ "$CONFIG_MTD_DOCPROBE" = "y" -o \
"$CONFIG_MTD_NAND_RTC_FROM4" = "y" -o \
- "$MTD_NAND_DISKONCHIP" = "y" ]; then
+ "$CONFIG_MTD_NAND_DISKONCHIP" = "y" ]; then
define_tristate CONFIG_REED_SOLOMON y
+ define_tristate CONFIG_REED_SOLOMON_DEC16 y
else
if [ "$CONFIG_MTD_DOCPROBE" = "m" -o \
"$CONFIG_MTD_NAND_RTC_FROM4" = "m" -o \
- "$MTD_NAND_DISKONCHIP" = "m" ]; then
+ "$CONFIG_MTD_NAND_DISKONCHIP" = "m" ]; then
define_tristate CONFIG_REED_SOLOMON m
+ define_tristate CONFIG_REED_SOLOMON_DEC16 y
else
define_tristate CONFIG_REED_SOLOMON n
fi
reply other threads:[~2005-01-03 6:45 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41D8F8F3.13501.243F9136@localhost \
--to=frantisek.rysanek@post.cz \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.