[Letux-kernel] 4.16 onenand

H. Nikolaus Schaller hns at goldelico.com
Tue Apr 10 07:59:15 CEST 2018


Hi,
my bisect is finished - with suboptimal result so far...

> Am 10.04.2018 um 07:27 schrieb Andreas Kemnade <andreas at kemnade.info>:
> 
> On Mon, 9 Apr 2018 08:59:03 +0200
> "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
> 
>> Hi Andreas,
>> 
>>> Am 09.04.2018 um 07:50 schrieb Andreas Kemnade <andreas at kemnade.info>:
>>> 
>>> On Sun, 8 Apr 2018 22:36:12 +0200
>>> "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
>>> 
>>>> Hi,
>>>> I just recognised that this
>>>> 
>>>>> Am 07.04.2018 um 22:41 schrieb Andreas Kemnade <andreas at kemnade.info>:
>>>>> 
>>>>> Hmm, using one letux dtb, separately compiled. And then compile
>>>>> on plain mainline. There should be no reason why onenand should not
>>>>> work on mainline.
>>>> 
>>>> may be wrong.
>>>> 
>>>> If for example a patch between 4.16-rc0 and 4.16-rc1 changes some
>>>> omap3 SoC support driver (clocks, hwmods etc.) this might need
>>>> a change in omap3-something.dtsi as well.
>>>> 
>>> Well, old dtbs have to be compatible,
>> 
>> Hm. I am still not convinced that this assumption is correct. It is
>> like asking for some old module.ko to be compatible.
>> 
>> The reason I see is that there may be hidden changes we have no
>> responsibility for (and do not look for).
>> 
> Well, you remember the comments when you try to upstream something
> dtb-related. Compatibility of newer kernels to older dtb was always a
> requirement and dtb on devices considered as cast in stone.

Yes, this is a requirement of kernel maintainers to us. But it does not mean
that core maintainers follow the same principles :)

> There were talks at FOSDEM considering them to be even more part of the
> device. And here it seems that we have forgotten
> 
> So if the old dtb does not work with the newer kernel, it is a bug.

Indeed.

> If someone introduced a problem in dtb itself it is another bug.

Indeed.

> What is a risk: Stuff which is not mainlined and compatibly breaks are
> not noticed.
> 
> Our onenand dtb section was missing the compatibly string which
> is such an example:
> commit 18b1b03e35c85589ddaea0fcdab72115e6df838e
> Author: H. Nikolaus Schaller <hns at goldelico.com>
> Date:   Sat Feb 10 16:16:15 2018 +0100
> 
>    ARM: dts: OMAP2+: Add compatible property to onenand node

Exactly. But those are easier to fix.

> 
> 
> I have done some experiments but not much. But I have found out that
> having a working
> strings /dev/mtd0ro
> 
> does not mean that ubiattach also works.
> 
> So I could reproduce your problems.
> 
> I had somehow trouble to have a working fb console on 4.15 mainline with
> gta04a5. No problem with letux3704.

Now here is my git bisect log:

iMac:master hns$ git bisect log
git bisect start '--no-checkout'
# good: [d8a5b80568a9cb66810e75b182018e9edb68e8ff] Linux 4.15
git bisect good d8a5b80568a9cb66810e75b182018e9edb68e8ff
# bad: [7928b2cbe55b2a410a0f5c1f154610059c57b1b2] Linux 4.16-rc1
git bisect bad 7928b2cbe55b2a410a0f5c1f154610059c57b1b2
# skip: [db5933225f2fe50d3b91ebbba73ed9c3b703b99a] Merge tag 'tty-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
git bisect skip db5933225f2fe50d3b91ebbba73ed9c3b703b99a
# skip: [f6df8f234e2502b7d8c6de42e066e01f908318cc] f2fs: introduce sysfs readdir_ra to readahead inode block in readdir
git bisect skip f6df8f234e2502b7d8c6de42e066e01f908318cc
# bad: [dff839f27dc8d70e191562c8e78b0a9a88028362] Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
git bisect bad dff839f27dc8d70e191562c8e78b0a9a88028362
# bad: [edbe69ef2c90fc86998a74b08319a01c508bd497] Revert "defer call to mem_cgroup_sk_alloc()"
git bisect bad edbe69ef2c90fc86998a74b08319a01c508bd497
# bad: [2155e69a9d9acd42488ef994a4e1ff535438c128] Merge tag 'dmaengine-4.16-rc1' of git://git.infradead.org/users/vkoul/slave-dma
git bisect bad 2155e69a9d9acd42488ef994a4e1ff535438c128
# bad: [f0b13428c95da67bbf77915e320030d9f18e7fcc] Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad f0b13428c95da67bbf77915e320030d9f18e7fcc
# bad: [47d5cc5be396eca67cc89572957ff16f10fd768e] Merge tag 'hwmon-for-linus-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
git bisect bad 47d5cc5be396eca67cc89572957ff16f10fd768e
# good: [c86d95cb6b7ecda7b7d56e40c24b7d8b9bf9159a] Merge tag 'asoc-v4.16-3' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next
git bisect good c86d95cb6b7ecda7b7d56e40c24b7d8b9bf9159a
# good: [1a9a126b5098160ca934a352617e9e65dbfa679d] Merge tag 'acpi-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
git bisect good 1a9a126b5098160ca934a352617e9e65dbfa679d
# skip: [571cb17b23eccc22f18c4fc0a0fc34cf0abca7ef] Merge tag 'nand/for-4.16' of git://git.infradead.org/linux-mtd into mtd/next
git bisect skip 571cb17b23eccc22f18c4fc0a0fc34cf0abca7ef
# skip: [8dee1d971af9af2f7b5f54c2eac4ebd04c5c237c] mtd: spi-nor: add an API to restore the status of SPI flash chip
git bisect skip 8dee1d971af9af2f7b5f54c2eac4ebd04c5c237c
# skip: [12663b442e5ac5aa3d6097cd3f287c71ba46d26e] mtd: mtd_oobtest: Handle bitflips during reads
git bisect skip 12663b442e5ac5aa3d6097cd3f287c71ba46d26e
# skip: [911c3a30cab8269239d24e68df4adf9f7f9e2a01] mtd: sharpslpart: make local function sharpsl_nand_cleanup_ftl() static
git bisect skip 911c3a30cab8269239d24e68df4adf9f7f9e2a01
# skip: [a82d20698a92cab7c885355cd0ba3c76c45c9e2f] dt-bindings: mtd: add Marvell NAND controller documentation
git bisect skip a82d20698a92cab7c885355cd0ba3c76c45c9e2f
# skip: [c9e916a4b462104cdd463b8749cf1345f3ad0577] mtd: nand: remove unnecessary extern from driver headers
git bisect skip c9e916a4b462104cdd463b8749cf1345f3ad0577
# skip: [396744b76a89b1cd7681c6b8a7716b545f6cf986] ARM: dts: OMAP2+: Add compatible property to onenand node
git bisect skip 396744b76a89b1cd7681c6b8a7716b545f6cf986
# skip: [eb94555e9e97c9983461214046b4d72c4ab4ba70] mtd: nand: use usual return values for the ->erase() hook
git bisect skip eb94555e9e97c9983461214046b4d72c4ab4ba70
# skip: [11066d42952ad254aa59043a9a71737e41705c5f] mtd: onenand: omap2: Remove skip initial unlocking support
git bisect skip 11066d42952ad254aa59043a9a71737e41705c5f
# skip: [97d90da8a886949f09bb4754843fb0b504956ad2] mtd: nand: provide several helpers to do common NAND operations
git bisect skip 97d90da8a886949f09bb4754843fb0b504956ad2
# skip: [fb25070afdf07cc62282c27357dc30ef3d7ef262] mtd: onenand: omap2: Unify OMAP2 and OMAP3 DMA implementation
git bisect skip fb25070afdf07cc62282c27357dc30ef3d7ef262
# good: [679f50b8d1f80a7083444c5a8aa02281b9ff9cc1] hwmon: (sht21) Fix documentation of struct sht21
git bisect good 679f50b8d1f80a7083444c5a8aa02281b9ff9cc1
# skip: [f4c6cd1a7f2275d5bc0e494b21fff26f8dde80f0] mtd: nand: sunxi: Fix ECC strength choice
git bisect skip f4c6cd1a7f2275d5bc0e494b21fff26f8dde80f0
# skip: [aeb93af96d0b0f0916aa0f65fe400a1808ea9cb9] mtd: nand: Only allocate ecc->{calc, code}_buf when actually needed
git bisect skip aeb93af96d0b0f0916aa0f65fe400a1808ea9cb9
# skip: [f883199d17b87e86a4ebd50bdee69285814bdce7] mtd: nand: mtk: use nand_reset() to reset NAND devices in resume function
git bisect skip f883199d17b87e86a4ebd50bdee69285814bdce7
# skip: [8878b126df769831cb2fa4088c3806538e8305f5] mtd: nand: add ->exec_op() implementation
git bisect skip 8878b126df769831cb2fa4088c3806538e8305f5
# skip: [8f52df50d9366f770a894d14ef724e5e04574e98] leds: pm8058: Silence pointer to integer size warning
git bisect skip 8f52df50d9366f770a894d14ef724e5e04574e98
# skip: [c8f22b02a8bbc74525d17dd37d39bdf599e68a79] Merge tag 'spi-nor/for-4.16' of git://git.infradead.org/linux-mtd into mtd/next
git bisect skip c8f22b02a8bbc74525d17dd37d39bdf599e68a79
# skip: [b13a9735ae74d4fa9e4d53b4dcfdd779997c8e0e] mtd: nand: gpmi: replace _manual_ swap with swap macro
git bisect skip b13a9735ae74d4fa9e4d53b4dcfdd779997c8e0e
# skip: [24f648c2ba5d4492ce6c923c9cf3fdb3c6d821bd] mtd: onenand: samsung: Remove a useless include
git bisect skip 24f648c2ba5d4492ce6c923c9cf3fdb3c6d821bd
# skip: [2023b0524a6310e9ea80daf085f51c71bff9289f] backlight: tdo24m: Fix the SPI CS between transfers
git bisect skip 2023b0524a6310e9ea80daf085f51c71bff9289f
# skip: [039b4377e5621a2cc197a7aff1e06db432e4dcc2] mtd: nand: brcmnand: Add a NULL check for devm_kasprintf()
git bisect skip 039b4377e5621a2cc197a7aff1e06db432e4dcc2
# skip: [2cb67d20cdea1f4da60bbe073d32bd2ba11c22ad] serdev: Introduce devm_serdev_device_open()
git bisect skip 2cb67d20cdea1f4da60bbe073d32bd2ba11c22ad
# skip: [0f89ffefa4e122e7e9bc1c2d716c6052b4601b76] mfd: lpc_ich: Do not touch SPI-NOR write protection bit on Apollo Lake
git bisect skip 0f89ffefa4e122e7e9bc1c2d716c6052b4601b76
# good: [571e3f3a8e6582ecce2c7fd5d0a9e2ae74cece02] hwmon: (w83773g) Fix fault detection and reporting
git bisect good 571e3f3a8e6582ecce2c7fd5d0a9e2ae74cece02
# good: [ef9e1cdf419a37065364edb47bd6dd9aee1bcb7d] hwmon: (pmbus/cffps) Add led class device for power supply fault led
git bisect good ef9e1cdf419a37065364edb47bd6dd9aee1bcb7d
# skip: [8a8c8ba1c8a65522f07fd3ccbae94712c471e683] mtd: nand: denali: rename misleading dma_buf to tmp_buf
git bisect skip 8a8c8ba1c8a65522f07fd3ccbae94712c471e683
# skip: [bdaca9345d41fd9420995469d27603ea62054691] mtd: onenand: omap2: Decouple DMA enabling from INT pin availability
git bisect skip bdaca9345d41fd9420995469d27603ea62054691
# bad: [0fc7e74663447682c904fe375bb680b004ddaa14] Merge tag 'mtd/for-4.16' of git://git.infradead.org/linux-mtd
git bisect bad 0fc7e74663447682c904fe375bb680b004ddaa14
# skip: [299fad6b9b6e4b50929861c701af64a36cde0f31] mfd: tmio: Move register macros to tmio_core.c
git bisect skip 299fad6b9b6e4b50929861c701af64a36cde0f31
# skip: [4c7e95b1b3286a2ba704790018a35510344958f2] mtd: nand: gpmi: Fix subpage reads
git bisect skip 4c7e95b1b3286a2ba704790018a35510344958f2
# skip: [a23670df27829558965a3b96a43bd67ed3064988] mfd: pm8xxx: Make elegible for COMPILE_TEST
git bisect skip a23670df27829558965a3b96a43bd67ed3064988
# skip: [c1a72e2dbb4abb90bd408480d7c48ba40cb799ce] mtd: nand: Fix build issues due to an anonymous union
git bisect skip c1a72e2dbb4abb90bd408480d7c48ba40cb799ce
# skip: [fa93f5b7aac54f08dea386fa4d79aa29bf54370e] mfd: stm32: Adopt SPDX identifier
git bisect skip fa93f5b7aac54f08dea386fa4d79aa29bf54370e
# skip: [c7eb47f9e45226571be31212f6efd4b307d3b59d] extcon: usbc-cros-ec: add support to notify USB type cables.
git bisect skip c7eb47f9e45226571be31212f6efd4b307d3b59d
# skip: [63fb9cb51da257e48af9db6bbfe4ace8ade04ff3] mfd: Remove duplicate includes
git bisect skip 63fb9cb51da257e48af9db6bbfe4ace8ade04ff3
# skip: [12a9d3bb6a258011edec3fa341cbca3cd0734e5d] backlight: apple_bl: Deprecate pci_get_bus_and_slot()
git bisect skip 12a9d3bb6a258011edec3fa341cbca3cd0734e5d
# skip: [0c384fc8620f3cfd886ba969200b79a3563a92df] mfd: axp20x: Mark axp288 CHRG_BAK_CTRL register volatile
git bisect skip 0c384fc8620f3cfd886ba969200b79a3563a92df
# skip: [6d17969c8eb454116d906005a6c4752f4f560b26] dt-bindings: mtd: fsl-quadspi: Pass the qspi clock names
git bisect skip 6d17969c8eb454116d906005a6c4752f4f560b26
# skip: [6cbefbdcec41bf725b308288dcb200a6efc3339f] mtd: tests: nandbiterrs: Fix read_page return value
git bisect skip 6cbefbdcec41bf725b308288dcb200a6efc3339f
# skip: [9e343e87d2c4c707ef8fae2844864d4dde3a2d13] mtd: cfi: convert inline functions to macros
git bisect skip 9e343e87d2c4c707ef8fae2844864d4dde3a2d13
# good: [bc4e118355caf83f472a5d31b850e73adddcf0ab] Merge tag 'mfd-next-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
git bisect good bc4e118355caf83f472a5d31b850e73adddcf0ab
# skip: [fafc0b3a9f7b586ae1261b2f78e389bd67df92d7] mtd: onenand: omap2: Remove partitioning support from platform data
git bisect skip fafc0b3a9f7b586ae1261b2f78e389bd67df92d7
# skip: [f953f0f89663c39f08f4baaa8a4a881401b65654] mtd: nand: brcmnand: Disable prefetch by default
git bisect skip f953f0f89663c39f08f4baaa8a4a881401b65654
# skip: [db601f3ad3f7e0e8acac230c658aa434f26e48cd] mtd: mchp23k256: propagate return value of spi_sync()
git bisect skip db601f3ad3f7e0e8acac230c658aa434f26e48cd
# skip: [e06a181b5dad6b1904e09e62c924868d7cfeacb6] mtd: nand: marvell: remove redundant variable 'oob_len'
git bisect skip e06a181b5dad6b1904e09e62c924868d7cfeacb6
# skip: [20ccb993f29bd6ad17699dd0b349db086e3ca719] mtd: spi-nor: check FSR error bits for Micron memories
git bisect skip 20ccb993f29bd6ad17699dd0b349db086e3ca719
# skip: [a76497dc49518bc162ebc8ee4f139a075b9f9ad0] mtd: nand: marvell: fix spelling mistake: "suceed"-> "succeed"
git bisect skip a76497dc49518bc162ebc8ee4f139a075b9f9ad0
# skip: [2666067fdba26a0a87cf50bb38f5a73aabd0f517] mtd: spi-nor: Check that BP bits are set properly
git bisect skip 2666067fdba26a0a87cf50bb38f5a73aabd0f517
# skip: [87e89ce8d0d14f573c068c61bec2117751fb5103] mtd: nand: Fix nand_do_read_oob() return value
git bisect skip 87e89ce8d0d14f573c068c61bec2117751fb5103
# skip: [59b356ffd0b00ed986c0aa1b401dd9b466ee619d] mtd: m25p80: restore the status of SPI flash when exiting
git bisect skip 59b356ffd0b00ed986c0aa1b401dd9b466ee619d
# skip: [6837befde3a6b42a36c894a4f86bafdc6db82534] mtd: onenand: samsung: remove incorrect __iomem annotation
git bisect skip 6837befde3a6b42a36c894a4f86bafdc6db82534
# skip: [33f45c44d68b3593826524ba6d02bd9cce9e101e] mtd: Do not allow MTD devices with inconsistent erase properties
git bisect skip 33f45c44d68b3593826524ba6d02bd9cce9e101e
# skip: [b4525db6f0c6dc02ad2bde08a3bcdcf0ad7891d4] MAINTAINERS: Add entry for Marvell NAND controller driver
git bisect skip b4525db6f0c6dc02ad2bde08a3bcdcf0ad7891d4
# skip: [d020fc8e5089dd6c60b1638030e0046dffa0fdbc] mtd: mtdpart: Make ECC stat handling consistent
git bisect skip d020fc8e5089dd6c60b1638030e0046dffa0fdbc
# skip: [dd533734395f0e14db12d82fc64a879c805743dd] mtd: nand: use reworked NAND controller driver with Marvell EBU SoCs
git bisect skip dd533734395f0e14db12d82fc64a879c805743dd
# skip: [24ff12922278573b1e4c54b4898ab7a3c64be960] mtd: Fallback to ->_read/write_oob() when ->_read/write() is missing
git bisect skip 24ff12922278573b1e4c54b4898ab7a3c64be960
# skip: [a758f50f10cfcf863f95372ff52e0d8d22fda9ba] mtd: onenand: omap2: Configure driver from DT
git bisect skip a758f50f10cfcf863f95372ff52e0d8d22fda9ba
# skip: [0aede42e98e0dfc64534617332b6a120cfcfe850] mtd: Remove duplicate checks on mtd_oob_ops parameter
git bisect skip 0aede42e98e0dfc64534617332b6a120cfcfe850
# skip: [d2ad1fb1e718e0104e86ebadae915d3bf056a011] Merge tag 'gpmc-omap-for-v4.16-immutable' of https://github.com/rogerq/linux into nand/next
git bisect skip d2ad1fb1e718e0104e86ebadae915d3bf056a011
# skip: [25f815f66a141436df8a4c45e5d2765272aea2ac] mtd: nand: force drivers to explicitly send READ/PROG commands
git bisect skip 25f815f66a141436df8a4c45e5d2765272aea2ac
# skip: [8edfe5fe193a3e43a410ab058d6f5d5cf28c4733] dt-bindings: mtd: gpmc-onenand: Update properties description
git bisect skip 8edfe5fe193a3e43a410ab058d6f5d5cf28c4733
# skip: [17fa8044188c152e8a3b9493f8b8054cacbfb9ba] mtd: nand: provide valid ->data_interface during NAND detection
git bisect skip 17fa8044188c152e8a3b9493f8b8054cacbfb9ba
# skip: [3ed6a4d1de2c5855a9e0164872b6adfd6b7a4215] mtd: onenand: omap2: Convert to use dmaengine for memcpy
git bisect skip 3ed6a4d1de2c5855a9e0164872b6adfd6b7a4215
# skip: [a6e4836d6991b86736ed00835ffac94cc2ec5158] spi-nor: intel-spi: Remove unused preopcodes field
git bisect skip a6e4836d6991b86736ed00835ffac94cc2ec5158
# skip: [d36005d4a289d31e23be387995df32b8f0554cbc] ARM: dts: omap3-igep: Update onenand node timings
git bisect skip d36005d4a289d31e23be387995df32b8f0554cbc
# skip: [23bae78e8a57f0249ed9e3f9c3f40fc1499ce0d4] mtd: mtk-nor: modify functions' name more generally
git bisect skip 23bae78e8a57f0249ed9e3f9c3f40fc1499ce0d4
# skip: [e6854e029b16bfd059194aabaa738d6d0d982cac] mtd: onenand: omap2: Remove regulator support
git bisect skip e6854e029b16bfd059194aabaa738d6d0d982cac
# skip: [c0313b966a0942fba934d34c7a76f444641d0b6e] mtd: nand: squash struct nand_buffers into struct nand_chip
git bisect skip c0313b966a0942fba934d34c7a76f444641d0b6e
# skip: [3621311695f5b1a9396ae95098ac904328eefde7] mtd: onenand: omap2: Simplify the DMA setup for various paths
git bisect skip 3621311695f5b1a9396ae95098ac904328eefde7
# skip: [f170c6fb7036dca779bbcb2e0fea4b4eed3201b1] mtd: onenand: Remove obsolete url from Kconfig help
git bisect skip f170c6fb7036dca779bbcb2e0fea4b4eed3201b1
# skip: [f5229331f13b84389cd71a58ccd5e15e5cb091c2] mtd: onenand: omap2: Do not make delay for GPIO OMAP3 specific
git bisect skip f5229331f13b84389cd71a58ccd5e15e5cb091c2
# skip: [624d5abf6c008ba00b2b868990708d5f2a5e2d08] mtd: nand: mtk: update DT bindings
git bisect skip 624d5abf6c008ba00b2b868990708d5f2a5e2d08
# skip: [d120568883a4676852caab2e3545c0d1a623376b] mtd: onenand: omap2: Account waiting time as waiting on IO
git bisect skip d120568883a4676852caab2e3545c0d1a623376b
# skip: [b45ee5501ede9a369e9bc20edca508193b848d25] mtd: nand: mtk: Support different MTK NAND flash controller IP
git bisect skip b45ee5501ede9a369e9bc20edca508193b848d25
# skip: [2514830b8b8ca966fae35103070984c2e847b2b9] ARM: OMAP2+: Remove gpmc-onenand
git bisect skip 2514830b8b8ca966fae35103070984c2e847b2b9
# skip: [98dea8d71931460c189e5001b0faf2180a42db42] mtd: nand: mtk: Support MT7622 NAND flash controller.
git bisect skip 98dea8d71931460c189e5001b0faf2180a42db42
# skip: [02f26ecf8c772751d4b24744d487f6b1b20e75d4] mtd: nand: add reworked Marvell NAND controller driver
git bisect skip 02f26ecf8c772751d4b24744d487f6b1b20e75d4
# skip: [707d81545dbc3d3ee4ae093fc600831eb97302e7] mtd: nand: samsung: add ECC requirements for K9F4G08U0D
git bisect skip 707d81545dbc3d3ee4ae093fc600831eb97302e7
# skip: [c18a7ac3398d0cef29749f9568666db8321aa4c9] memory: omap-gpmc: Make 'bank-width' property optional
git bisect skip c18a7ac3398d0cef29749f9568666db8321aa4c9
# skip: [8b5c51a45c39c6d4f05c6f87d05f54b6c28f7c36] mtd: onenand: samsung: use devm_ function to simplify code and fix some leaks
git bisect skip 8b5c51a45c39c6d4f05c6f87d05f54b6c28f7c36
# skip: [34354d4bf845c85f9795a9f39239ca3aa46c3a94] mtd: spi-nor: add support for ISSI is25lp128
git bisect skip 34354d4bf845c85f9795a9f39239ca3aa46c3a94
# skip: [ad99be47726ccb0bcbc4b0fac12c20cba78e4c0d] mtd: onenand: samsung: return an error if 'mtd_device_parse_register()' fails
git bisect skip ad99be47726ccb0bcbc4b0fac12c20cba78e4c0d
# skip: [b1d030f804fbf8f502756231d475fcf8fd6a86ad] mtd: sharpslpart: fix overflow on block_adr calculation
git bisect skip b1d030f804fbf8f502756231d475fcf8fd6a86ad
# skip: [d787b8b3509a78b1bf922cc3a1061711074847a8] mtd: nand: Fix unfinished comment in nand_init_data_interface()
git bisect skip d787b8b3509a78b1bf922cc3a1061711074847a8
# skip: [26f0740ed6a211bd81edc9118526636e814bd650] mtd: nand: hynix: Don't wait after applying new read-retry params
git bisect skip 26f0740ed6a211bd81edc9118526636e814bd650
# skip: [069f05346d01e7298939f16533953cdf52370be3] mtd: nand: qcom: Add a NULL check for devm_kasprintf()
git bisect skip 069f05346d01e7298939f16533953cdf52370be3
# skip: [2e7c7f66b2b4c88a03c69b148e29a372432f35b9] MAINTAINERS: Move all MTD related branches to a single repo
git bisect skip 2e7c7f66b2b4c88a03c69b148e29a372432f35b9
# skip: [c495a9275eeca0bbc9358de7200e58184e864aeb] mtd: nand: marvell: Fix missing memory allocation modifier
git bisect skip c495a9275eeca0bbc9358de7200e58184e864aeb
# skip: [d822401d1c6898a4a4ee03977b78b8cec402e88a] mtd: nand: denali_pci: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
git bisect skip d822401d1c6898a4a4ee03977b78b8cec402e88a
# skip: [09ec417b0ea8bdab18e78d3d55e0a5fb7d54f18c] mtd: nand: samsung: Disable subpage writes on E-die NAND
git bisect skip 09ec417b0ea8bdab18e78d3d55e0a5fb7d54f18c
# skip: [bccb06c353af3764ca86d9da47652458e6c2eb41] mtd: nand: ifc: update bufnum mask for ver >= 2.0.0
git bisect skip bccb06c353af3764ca86d9da47652458e6c2eb41
# skip: [7cce5d835467ea66c342951d0ed6adaffe39b1c8] MAINTAINERS: mtd/nand: update Microchip nand entry
git bisect skip 7cce5d835467ea66c342951d0ed6adaffe39b1c8
# skip: [f72071b892d6f5eccf90756f3c12b1422bd4b474] mtd: Add an helper to make erase request aligned on ->erasesize
git bisect skip f72071b892d6f5eccf90756f3c12b1422bd4b474
# skip: [e6b90db83f8b33735fe5a008ff171f69527a5305] mtd: onenand: omap2: Remove redundant dev_err call in omap2_onenand_probe()
git bisect skip e6b90db83f8b33735fe5a008ff171f69527a5305
# skip: [29d6b29f5040d3385510bd9766f5f7823537b26a] mtd: spi-nor: indent issi section
git bisect skip 29d6b29f5040d3385510bd9766f5f7823537b26a
# skip: [b76bb4e64e7514a9d9027e2b0d0b76ee84a4d27b] dt-bindings: mtd: document new nand-rb property
git bisect skip b76bb4e64e7514a9d9027e2b0d0b76ee84a4d27b
# skip: [0074a8f3b30302383ce59867299975fbf37a4061] mtd: spi-nor: Add support for s25fl128l and s25fl256l
git bisect skip 0074a8f3b30302383ce59867299975fbf37a4061
# skip: [0598344df0f093eba3c6e0af3caa934929c4b3aa] mtd: onenand: samsung: Propagate the error returned by 'onenand_scan()'
git bisect skip 0598344df0f093eba3c6e0af3caa934929c4b3aa
# skip: [17407ec3354d291541099b2a7cd71545d9402e14] mtd: spi-nor: Add ISSI is25lp080d support
git bisect skip 17407ec3354d291541099b2a7cd71545d9402e14
# skip: [82cea533aed44c1b8553fe782e1bc5e1262bd71a] mtd: onenand: omap2: print resource using %pR format string
git bisect skip 82cea533aed44c1b8553fe782e1bc5e1262bd71a
# skip: [e4b580bc04af6b3408a99113d2d69f9dd268eafa] mtd: spi-nor: cadence-quadspi: Refactor indirect read/write sequence.
git bisect skip e4b580bc04af6b3408a99113d2d69f9dd268eafa
# skip: [8c677541bb24871ce44b5a1e327a3e7f5792eae4] mtd: nand: denali: Avoid using ecc->code_buf as a temporary buffer
git bisect skip 8c677541bb24871ce44b5a1e327a3e7f5792eae4
# skip: [ded8a0447f49d7ec1778a79de433c281c64bf814] mtd: spi-nor: add support for is25lq040b
git bisect skip ded8a0447f49d7ec1778a79de433c281c64bf814
# skip: [958ef111cca5e70994b806127ff15258d446ed25] mtd: nand: cafe: clean up DMA address setup
git bisect skip 958ef111cca5e70994b806127ff15258d446ed25
# skip: [a27f2eaf2b275758d269ba519833df53c6181878] mtd: spi-nor: cadence-quadspi: Add support for direct access mode
git bisect skip a27f2eaf2b275758d269ba519833df53c6181878
# skip: [8b311ead8bff9b56e512e3e544c488042ad0e7e7] mtd: nand: remove unused NAND_OWN_BUFFERS flag
git bisect skip 8b311ead8bff9b56e512e3e544c488042ad0e7e7
# good: [aa5e75bc7a7c4ecbdee7bc85d1a306041b926e24] Merge tag 'for-backlight-next-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight
git bisect good aa5e75bc7a7c4ecbdee7bc85d1a306041b926e24
# skip: [f880b07bf155226af8491d58558a41f2cf5245dc] mtd: nand: cafe: remove use of NAND_OWN_BUFFERS
git bisect skip f880b07bf155226af8491d58558a41f2cf5245dc
# skip: [34832dc44d44d7ea586617d99895e8cfc840be03] mtd: nand: gpmi-nand: Remove wrong Kconfig help text
git bisect skip 34832dc44d44d7ea586617d99895e8cfc840be03
# skip: [2167d6d7a96a35614be64769f4d36d6eddc1860f] mtd: fsl-quadspi: account for const type of of_device_id.data
git bisect skip 2167d6d7a96a35614be64769f4d36d6eddc1860f
# skip: [df467899da0b71465760b4e35127bce837244eee] mtd: nand: fix interpretation of NAND_CMD_NONE in nand_command[_lp]()
git bisect skip df467899da0b71465760b4e35127bce837244eee
# skip: [bf6571057f0830ab5132be8b6045d2677baad281] mtd: mtdswap: make array 'name' static const, shrinks object size
git bisect skip bf6571057f0830ab5132be8b6045d2677baad281
# only skipped commits left to test
# possible first bad commit: [0fc7e74663447682c904fe375bb680b004ddaa14] Merge tag 'mtd/for-4.16' of git://git.infradead.org/linux-mtd
# possible first bad commit: [571cb17b23eccc22f18c4fc0a0fc34cf0abca7ef] Merge tag 'nand/for-4.16' of git://git.infradead.org/linux-mtd into mtd/next
# possible first bad commit: [c8f22b02a8bbc74525d17dd37d39bdf599e68a79] Merge tag 'spi-nor/for-4.16' of git://git.infradead.org/linux-mtd into mtd/next
# possible first bad commit: [f4c6cd1a7f2275d5bc0e494b21fff26f8dde80f0] mtd: nand: sunxi: Fix ECC strength choice
# possible first bad commit: [4c7e95b1b3286a2ba704790018a35510344958f2] mtd: nand: gpmi: Fix subpage reads
# possible first bad commit: [c1a72e2dbb4abb90bd408480d7c48ba40cb799ce] mtd: nand: Fix build issues due to an anonymous union
# possible first bad commit: [c495a9275eeca0bbc9358de7200e58184e864aeb] mtd: nand: marvell: Fix missing memory allocation modifier
# possible first bad commit: [e06a181b5dad6b1904e09e62c924868d7cfeacb6] mtd: nand: marvell: remove redundant variable 'oob_len'
# possible first bad commit: [a76497dc49518bc162ebc8ee4f139a075b9f9ad0] mtd: nand: marvell: fix spelling mistake: "suceed"-> "succeed"
# possible first bad commit: [e6b90db83f8b33735fe5a008ff171f69527a5305] mtd: onenand: omap2: Remove redundant dev_err call in omap2_onenand_probe()
# possible first bad commit: [0aede42e98e0dfc64534617332b6a120cfcfe850] mtd: Remove duplicate checks on mtd_oob_ops parameter
# possible first bad commit: [24ff12922278573b1e4c54b4898ab7a3c64be960] mtd: Fallback to ->_read/write_oob() when ->_read/write() is missing
# possible first bad commit: [d020fc8e5089dd6c60b1638030e0046dffa0fdbc] mtd: mtdpart: Make ECC stat handling consistent
# possible first bad commit: [82cea533aed44c1b8553fe782e1bc5e1262bd71a] mtd: onenand: omap2: print resource using %pR format string
# possible first bad commit: [23bae78e8a57f0249ed9e3f9c3f40fc1499ce0d4] mtd: mtk-nor: modify functions' name more generally
# possible first bad commit: [6837befde3a6b42a36c894a4f86bafdc6db82534] mtd: onenand: samsung: remove incorrect __iomem annotation
# possible first bad commit: [b4525db6f0c6dc02ad2bde08a3bcdcf0ad7891d4] MAINTAINERS: Add entry for Marvell NAND controller driver
# possible first bad commit: [2514830b8b8ca966fae35103070984c2e847b2b9] ARM: OMAP2+: Remove gpmc-onenand
# possible first bad commit: [a758f50f10cfcf863f95372ff52e0d8d22fda9ba] mtd: onenand: omap2: Configure driver from DT
# possible first bad commit: [bdaca9345d41fd9420995469d27603ea62054691] mtd: onenand: omap2: Decouple DMA enabling from INT pin availability
# possible first bad commit: [f5229331f13b84389cd71a58ccd5e15e5cb091c2] mtd: onenand: omap2: Do not make delay for GPIO OMAP3 specific
# possible first bad commit: [3ed6a4d1de2c5855a9e0164872b6adfd6b7a4215] mtd: onenand: omap2: Convert to use dmaengine for memcpy
# possible first bad commit: [fb25070afdf07cc62282c27357dc30ef3d7ef262] mtd: onenand: omap2: Unify OMAP2 and OMAP3 DMA implementation
# possible first bad commit: [3621311695f5b1a9396ae95098ac904328eefde7] mtd: onenand: omap2: Simplify the DMA setup for various paths
# possible first bad commit: [d120568883a4676852caab2e3545c0d1a623376b] mtd: onenand: omap2: Account waiting time as waiting on IO
# possible first bad commit: [fafc0b3a9f7b586ae1261b2f78e389bd67df92d7] mtd: onenand: omap2: Remove partitioning support from platform data
# possible first bad commit: [11066d42952ad254aa59043a9a71737e41705c5f] mtd: onenand: omap2: Remove skip initial unlocking support
# possible first bad commit: [e6854e029b16bfd059194aabaa738d6d0d982cac] mtd: onenand: omap2: Remove regulator support
# possible first bad commit: [d36005d4a289d31e23be387995df32b8f0554cbc] ARM: dts: omap3-igep: Update onenand node timings
# possible first bad commit: [396744b76a89b1cd7681c6b8a7716b545f6cf986] ARM: dts: OMAP2+: Add compatible property to onenand node
# possible first bad commit: [8edfe5fe193a3e43a410ab058d6f5d5cf28c4733] dt-bindings: mtd: gpmc-onenand: Update properties description
# possible first bad commit: [d2ad1fb1e718e0104e86ebadae915d3bf056a011] Merge tag 'gpmc-omap-for-v4.16-immutable' of https://github.com/rogerq/linux into nand/next
# possible first bad commit: [dd533734395f0e14db12d82fc64a879c805743dd] mtd: nand: use reworked NAND controller driver with Marvell EBU SoCs
# possible first bad commit: [02f26ecf8c772751d4b24744d487f6b1b20e75d4] mtd: nand: add reworked Marvell NAND controller driver
# possible first bad commit: [a82d20698a92cab7c885355cd0ba3c76c45c9e2f] dt-bindings: mtd: add Marvell NAND controller documentation
# possible first bad commit: [b76bb4e64e7514a9d9027e2b0d0b76ee84a4d27b] dt-bindings: mtd: document new nand-rb property
# possible first bad commit: [87e89ce8d0d14f573c068c61bec2117751fb5103] mtd: nand: Fix nand_do_read_oob() return value
# possible first bad commit: [12663b442e5ac5aa3d6097cd3f287c71ba46d26e] mtd: mtd_oobtest: Handle bitflips during reads
# possible first bad commit: [7cce5d835467ea66c342951d0ed6adaffe39b1c8] MAINTAINERS: mtd/nand: update Microchip nand entry
# possible first bad commit: [09ec417b0ea8bdab18e78d3d55e0a5fb7d54f18c] mtd: nand: samsung: Disable subpage writes on E-die NAND
# possible first bad commit: [6cbefbdcec41bf725b308288dcb200a6efc3339f] mtd: tests: nandbiterrs: Fix read_page return value
# possible first bad commit: [f953f0f89663c39f08f4baaa8a4a881401b65654] mtd: nand: brcmnand: Disable prefetch by default
# possible first bad commit: [a6e4836d6991b86736ed00835ffac94cc2ec5158] spi-nor: intel-spi: Remove unused preopcodes field
# possible first bad commit: [2167d6d7a96a35614be64769f4d36d6eddc1860f] mtd: fsl-quadspi: account for const type of of_device_id.data
# possible first bad commit: [a27f2eaf2b275758d269ba519833df53c6181878] mtd: spi-nor: cadence-quadspi: Add support for direct access mode
# possible first bad commit: [e4b580bc04af6b3408a99113d2d69f9dd268eafa] mtd: spi-nor: cadence-quadspi: Refactor indirect read/write sequence.
# possible first bad commit: [069f05346d01e7298939f16533953cdf52370be3] mtd: nand: qcom: Add a NULL check for devm_kasprintf()
# possible first bad commit: [f72071b892d6f5eccf90756f3c12b1422bd4b474] mtd: Add an helper to make erase request aligned on ->erasesize
# possible first bad commit: [33f45c44d68b3593826524ba6d02bd9cce9e101e] mtd: Do not allow MTD devices with inconsistent erase properties
# possible first bad commit: [911c3a30cab8269239d24e68df4adf9f7f9e2a01] mtd: sharpslpart: make local function sharpsl_nand_cleanup_ftl() static
# possible first bad commit: [039b4377e5621a2cc197a7aff1e06db432e4dcc2] mtd: nand: brcmnand: Add a NULL check for devm_kasprintf()
# possible first bad commit: [d787b8b3509a78b1bf922cc3a1061711074847a8] mtd: nand: Fix unfinished comment in nand_init_data_interface()
# possible first bad commit: [17407ec3354d291541099b2a7cd71545d9402e14] mtd: spi-nor: Add ISSI is25lp080d support
# possible first bad commit: [0074a8f3b30302383ce59867299975fbf37a4061] mtd: spi-nor: Add support for s25fl128l and s25fl256l
# possible first bad commit: [2e7c7f66b2b4c88a03c69b148e29a372432f35b9] MAINTAINERS: Move all MTD related branches to a single repo
# possible first bad commit: [29d6b29f5040d3385510bd9766f5f7823537b26a] mtd: spi-nor: indent issi section
# possible first bad commit: [ded8a0447f49d7ec1778a79de433c281c64bf814] mtd: spi-nor: add support for is25lq040b
# possible first bad commit: [24f648c2ba5d4492ce6c923c9cf3fdb3c6d821bd] mtd: onenand: samsung: Remove a useless include
# possible first bad commit: [0598344df0f093eba3c6e0af3caa934929c4b3aa] mtd: onenand: samsung: Propagate the error returned by 'onenand_scan()'
# possible first bad commit: [ad99be47726ccb0bcbc4b0fac12c20cba78e4c0d] mtd: onenand: samsung: return an error if 'mtd_device_parse_register()' fails
# possible first bad commit: [8b5c51a45c39c6d4f05c6f87d05f54b6c28f7c36] mtd: onenand: samsung: use devm_ function to simplify code and fix some leaks
# possible first bad commit: [b1d030f804fbf8f502756231d475fcf8fd6a86ad] mtd: sharpslpart: fix overflow on block_adr calculation
# possible first bad commit: [9e343e87d2c4c707ef8fae2844864d4dde3a2d13] mtd: cfi: convert inline functions to macros
# possible first bad commit: [db601f3ad3f7e0e8acac230c658aa434f26e48cd] mtd: mchp23k256: propagate return value of spi_sync()
# possible first bad commit: [bf6571057f0830ab5132be8b6045d2677baad281] mtd: mtdswap: make array 'name' static const, shrinks object size
# possible first bad commit: [8878b126df769831cb2fa4088c3806538e8305f5] mtd: nand: add ->exec_op() implementation
# possible first bad commit: [707d81545dbc3d3ee4ae093fc600831eb97302e7] mtd: nand: samsung: add ECC requirements for K9F4G08U0D
# possible first bad commit: [aeb93af96d0b0f0916aa0f65fe400a1808ea9cb9] mtd: nand: Only allocate ecc->{calc, code}_buf when actually needed
# possible first bad commit: [8c677541bb24871ce44b5a1e327a3e7f5792eae4] mtd: nand: denali: Avoid using ecc->code_buf as a temporary buffer
# possible first bad commit: [98dea8d71931460c189e5001b0faf2180a42db42] mtd: nand: mtk: Support MT7622 NAND flash controller.
# possible first bad commit: [b45ee5501ede9a369e9bc20edca508193b848d25] mtd: nand: mtk: Support different MTK NAND flash controller IP
# possible first bad commit: [624d5abf6c008ba00b2b868990708d5f2a5e2d08] mtd: nand: mtk: update DT bindings
# possible first bad commit: [f170c6fb7036dca779bbcb2e0fea4b4eed3201b1] mtd: onenand: Remove obsolete url from Kconfig help
# possible first bad commit: [958ef111cca5e70994b806127ff15258d446ed25] mtd: nand: cafe: clean up DMA address setup
# possible first bad commit: [c0313b966a0942fba934d34c7a76f444641d0b6e] mtd: nand: squash struct nand_buffers into struct nand_chip
# possible first bad commit: [8b311ead8bff9b56e512e3e544c488042ad0e7e7] mtd: nand: remove unused NAND_OWN_BUFFERS flag
# possible first bad commit: [f880b07bf155226af8491d58558a41f2cf5245dc] mtd: nand: cafe: remove use of NAND_OWN_BUFFERS
# possible first bad commit: [17fa8044188c152e8a3b9493f8b8054cacbfb9ba] mtd: nand: provide valid ->data_interface during NAND detection
# possible first bad commit: [25f815f66a141436df8a4c45e5d2765272aea2ac] mtd: nand: force drivers to explicitly send READ/PROG commands
# possible first bad commit: [97d90da8a886949f09bb4754843fb0b504956ad2] mtd: nand: provide several helpers to do common NAND operations
# possible first bad commit: [59b356ffd0b00ed986c0aa1b401dd9b466ee619d] mtd: m25p80: restore the status of SPI flash when exiting
# possible first bad commit: [8dee1d971af9af2f7b5f54c2eac4ebd04c5c237c] mtd: spi-nor: add an API to restore the status of SPI flash chip
# possible first bad commit: [2666067fdba26a0a87cf50bb38f5a73aabd0f517] mtd: spi-nor: Check that BP bits are set properly
# possible first bad commit: [20ccb993f29bd6ad17699dd0b349db086e3ca719] mtd: spi-nor: check FSR error bits for Micron memories
# possible first bad commit: [6d17969c8eb454116d906005a6c4752f4f560b26] dt-bindings: mtd: fsl-quadspi: Pass the qspi clock names
# possible first bad commit: [34354d4bf845c85f9795a9f39239ca3aa46c3a94] mtd: spi-nor: add support for ISSI is25lp128
# possible first bad commit: [c18a7ac3398d0cef29749f9568666db8321aa4c9] memory: omap-gpmc: Make 'bank-width' property optional
# possible first bad commit: [eb94555e9e97c9983461214046b4d72c4ab4ba70] mtd: nand: use usual return values for the ->erase() hook
# possible first bad commit: [8a8c8ba1c8a65522f07fd3ccbae94712c471e683] mtd: nand: denali: rename misleading dma_buf to tmp_buf
# possible first bad commit: [c9e916a4b462104cdd463b8749cf1345f3ad0577] mtd: nand: remove unnecessary extern from driver headers
# possible first bad commit: [bccb06c353af3764ca86d9da47652458e6c2eb41] mtd: nand: ifc: update bufnum mask for ver >= 2.0.0
# possible first bad commit: [d822401d1c6898a4a4ee03977b78b8cec402e88a] mtd: nand: denali_pci: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
# possible first bad commit: [34832dc44d44d7ea586617d99895e8cfc840be03] mtd: nand: gpmi-nand: Remove wrong Kconfig help text
# possible first bad commit: [26f0740ed6a211bd81edc9118526636e814bd650] mtd: nand: hynix: Don't wait after applying new read-retry params
# possible first bad commit: [df467899da0b71465760b4e35127bce837244eee] mtd: nand: fix interpretation of NAND_CMD_NONE in nand_command[_lp]()
# possible first bad commit: [b13a9735ae74d4fa9e4d53b4dcfdd779997c8e0e] mtd: nand: gpmi: replace _manual_ swap with swap macro
# possible first bad commit: [f883199d17b87e86a4ebd50bdee69285814bdce7] mtd: nand: mtk: use nand_reset() to reset NAND devices in resume function
iMac:master hns$

Some observations:
* the many git bisect skip come from merge conflicts in

  arch/arm/boot/dts/omap3-gta04.dtsi

  when trying to apply (cherry-pick) the 4.16 version of "DT: GTA04: fixes to get things merged with the other branches"
  to some intermediate versions. It seems that we can apply it to "good" and "bad".

* almost all remaining suspects are mtd: or mtd: nand.
  some others which may be related to the kernel panic problem are:
	"mtd: onenand: omap2: Unify OMAP2 and OMAP3 DMA implementation"
	"onenand: omap2: Simplify the DMA setup for various paths"
	"dt-bindings: mtd: gpmc-onenand: Update properties description"
	"dt-bindings: mtd: document new nand-rb property"
  	"mtd: mtdswap: make array 'name' static const, shrinks object size"
	"memory: omap-gpmc: Make 'bank-width' property optional"

How can we proceed?

One idea I have is to look into the git conflict issues that I have. So that the cherry-pick
of the feature branch does no longer fail. Then I can remove all git bisect skips from the
above log and replay it.

The other idea is to code review all critical patches. In the hope that *we* spot something
all LKML reviewers haven't seen yet. But this would be easier if we would know the single
bad commit to look at...

BR,
Nikolaus

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.goldelico.com/pipermail/letux-kernel/attachments/20180410/f1842139/attachment-0001.asc>


More information about the Letux-kernel mailing list