UBI: try to reveal buggy MTD drivers
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Sat, 13 Nov 2010 13:08:29 +0000 (15:08 +0200)
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Sun, 6 Feb 2011 17:18:32 +0000 (19:18 +0200)
commit276832d878d8a892ac7b40fd0ee07fe757e080c7
tree8da446b3091065c088f1aae8b35833eba9b91308
parent2fff570e7c8f97e411cd852d64b77b92d9ab8da9
UBI: try to reveal buggy MTD drivers

When reading data from the flash, corrupt the buffer we are about to
read to. The idea is to fix the following possible situation:

1. The buffer contains data from previous operation, e.g., read from
   another PEB previously. The data looks like expected, e.g., if we
   just do not read anything and return - the caller would not
   notice this. E.g., if we are reading a VID header, the buffer may
   contain a valid VID header from another PEB.
2. The driver is buggy and returns use success or -EBADMSG or
   -EUCLEAN, but it does not actually put any data to the buffer.

This may confuse UBI or upper layers - they may think the buffer
contains valid data while in fact it is just old data.

Thus, try to reveal such buggy MTD drivers with simple debugging
code which fills the read buffer with 0x12 constant.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
drivers/mtd/ubi/io.c