diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-02 19:33:54 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-02 19:33:54 -0500 |
commit | 48476df99894492a0f7239f2f3c9a2dde4ff38e2 (patch) | |
tree | 5a1b80f20449968f0de6e5bfbcda5e360e31ba1f /drivers/mtd/nand/nand_base.c | |
parent | 37cae6ad4c484030fa972241533c32730ec79b7d (diff) | |
parent | 24dea0c9feccf699749f860fa2f4ccd84d30390d (diff) |
Merge tag 'for-linus-20130301' of git://git.infradead.org/linux-mtd
Pull MTD update from David Woodhouse:
"Fairly unexciting MTD merge for 3.9:
- misc clean-ups in the MTD command-line partitioning parser
(cmdlinepart)
- add flash locking support for STmicro chips serial flash chips, as
well as for CFI command set 2 chips.
- new driver for the ELM error correction HW module found in various
TI chips, enable the OMAP NAND driver to use the ELM HW error
correction
- added number of new serial flash IDs
- various fixes and improvements in the gpmi NAND driver
- bcm47xx NAND driver improvements
- make the mtdpart module actually removable"
* tag 'for-linus-20130301' of git://git.infradead.org/linux-mtd: (45 commits)
mtd: map: BUG() in non handled cases
mtd: bcm47xxnflash: use pr_fmt for module prefix in messages
mtd: davinci_nand: Use managed resources
mtd: mtd_torturetest can cause stack overflows
mtd: physmap_of: Convert device allocation to managed devm_kzalloc()
mtd: at91: atmel_nand: for PMECC, add code to check the ONFI parameter ECC requirement.
mtd: atmel_nand: make pmecc-cap, pmecc-sector-size in dts is optional.
mtd: atmel_nand: avoid to report an error when lookup table offset is 0.
mtd: bcm47xxsflash: adjust names of bus-specific functions
mtd: bcm47xxpart: improve probing of nvram partition
mtd: bcm47xxpart: add support for other erase sizes
mtd: bcm47xxnflash: register this as normal driver
mtd: bcm47xxnflash: fix message
mtd: bcm47xxsflash: register this as normal driver
mtd: bcm47xxsflash: write number of written bytes
mtd: gpmi: add sanity check for the ECC
mtd: gpmi: set the Golois Field bit for mx6q's BCH
mtd: devices: elm: Removes <xx> literals in elm DT node
mtd: gpmi: fix a dereferencing freed memory error
mtd: fix the wrong timeo for panic_nand_wait()
...
Diffstat (limited to 'drivers/mtd/nand/nand_base.c')
-rw-r--r-- | drivers/mtd/nand/nand_base.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index 3766682a0289..43214151b882 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c | |||
@@ -825,13 +825,8 @@ static void panic_nand_wait(struct mtd_info *mtd, struct nand_chip *chip, | |||
825 | static int nand_wait(struct mtd_info *mtd, struct nand_chip *chip) | 825 | static int nand_wait(struct mtd_info *mtd, struct nand_chip *chip) |
826 | { | 826 | { |
827 | 827 | ||
828 | unsigned long timeo = jiffies; | ||
829 | int status, state = chip->state; | 828 | int status, state = chip->state; |
830 | 829 | unsigned long timeo = (state == FL_ERASING ? 400 : 20); | |
831 | if (state == FL_ERASING) | ||
832 | timeo += (HZ * 400) / 1000; | ||
833 | else | ||
834 | timeo += (HZ * 20) / 1000; | ||
835 | 830 | ||
836 | led_trigger_event(nand_led_trigger, LED_FULL); | 831 | led_trigger_event(nand_led_trigger, LED_FULL); |
837 | 832 | ||
@@ -849,6 +844,7 @@ static int nand_wait(struct mtd_info *mtd, struct nand_chip *chip) | |||
849 | if (in_interrupt() || oops_in_progress) | 844 | if (in_interrupt() || oops_in_progress) |
850 | panic_nand_wait(mtd, chip, timeo); | 845 | panic_nand_wait(mtd, chip, timeo); |
851 | else { | 846 | else { |
847 | timeo = jiffies + msecs_to_jiffies(timeo); | ||
852 | while (time_before(jiffies, timeo)) { | 848 | while (time_before(jiffies, timeo)) { |
853 | if (chip->dev_ready) { | 849 | if (chip->dev_ready) { |
854 | if (chip->dev_ready(mtd)) | 850 | if (chip->dev_ready(mtd)) |