|
@@ -2799,15 +2799,18 @@ static int panic_nand_write(struct mtd_info *mtd, loff_t to, size_t len,
|
|
|
size_t *retlen, const uint8_t *buf)
|
|
|
{
|
|
|
struct nand_chip *chip = mtd_to_nand(mtd);
|
|
|
+ int chipnr = (int)(to >> chip->chip_shift);
|
|
|
struct mtd_oob_ops ops;
|
|
|
int ret;
|
|
|
|
|
|
- /* Wait for the device to get ready */
|
|
|
- panic_nand_wait(mtd, chip, 400);
|
|
|
-
|
|
|
/* Grab the device */
|
|
|
panic_nand_get_device(chip, mtd, FL_WRITING);
|
|
|
|
|
|
+ chip->select_chip(mtd, chipnr);
|
|
|
+
|
|
|
+ /* Wait for the device to get ready */
|
|
|
+ panic_nand_wait(mtd, chip, 400);
|
|
|
+
|
|
|
memset(&ops, 0, sizeof(ops));
|
|
|
ops.len = len;
|
|
|
ops.datbuf = (uint8_t *)buf;
|