NOR/CFI: check "flash bank" command arguments
commitc7b269ace1bbe07d5db7a562bb9242f4be32be67
authorAntonio Borneo <borneo.antonio@gmail.com>
Thu, 15 Apr 2010 17:17:01 +0000 (16 01:17 +0800)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Sun, 16 May 2010 11:39:47 +0000 (16 13:39 +0200)
treeccc4405381e1f4964d72b0102757ea0cc8f588a7
parentb8c54b362b395e50baf749366f6ec9e29fcba27e
NOR/CFI: check "flash bank" command arguments

Arguments chip_width and bus_width of command "flash bank" are
not fully checked.
While bus_width is later on redundantly checked in several other
parts (e.g. in cfi_command_val()) and generates run-time error,
chip_width is never checked, nor related to actual bus_width
value.
Added check to avoid:
- (chip_width == 0), that would mean no memory chip at all,
  avoiding also division by zero e.g. in cfi_get_u8();
- (bus_width == 0), that would mean no bus at all;
- unsupported cases of chip_width or bus_width value not power
  of 2;
- unsupported case of chip width wider than bus.

Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
src/flash/nor/cfi.c