u-boot/drivers
Michael Trimarchi c21b0ca525 mtd: nand: make Samsung SLC NAND usable again
Upstream linux commit 69fc01296c9281

commit a1286a1fc4 ("mtd: nand: Move Samsung specific init/detection
logic in nand_samsung.c") introduced a regression for Samsung SLC NAND
chips. Prior to this commit chip->bits_per_cell was initialized by calling
nand_get_bits_per_cell() before using nand_is_slc().
With the offending commit this call is skipped, leaving
chip->bits_per_cell cleared to zero when the manufacturer specific
'.detect' function calls nand_is_slc() which in turn interprets
bits_per_cell != 1 as indication for an MLC chip.
The effect is that e.g. a K9F1G08U0F NAND chip is falsely detected as
MLC NAND with 4KiB page size rather than SLC with 2KiB page size.

Add a call to nand_get_bits_per_cell() before calling the .detect hook
function in nand_manufacturer_detect(), so that the nand_is_slc()
calls in the manufacturer specific code will return correct results.

Reported-by: Marcin Gołaś <marcingol30@gmail.com>
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Reviewed-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Link: https://lore.kernel.org/all/20221021060536.11747-1-michael@amarulasolutions.com
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
2022-12-10 14:35:55 +01:00
..
adc adc: stm32mp15: add support of generic channels binding 2022-12-07 17:00:26 +01:00
ata blk: Rename if_type to uclass_id 2022-09-25 08:30:05 -06:00
axi WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
bios_emulator video: Rename structs and functions to avoid VBE 2022-08-12 08:14:23 -04:00
block dm: blk: Add probe in blk_first_device/blk_next_device 2022-11-07 16:24:30 -07:00
bootcount bootcount: pmic: Correct misleading comment 2022-10-11 15:40:48 -04:00
bus bus: Optionally include TI sysc driver in SPL/TPL 2022-12-02 08:39:00 -05:00
button button: gpio: add DM_GPIO dependency 2022-08-23 12:39:06 +02:00
cache drivers: cache: ncore: Disable snoop filter 2022-06-17 16:27:05 +08:00
clk clk: stm32mp13: introduce STM32MP13 RCC driver 2022-12-07 16:49:35 +01:00
core dm: core: Fix iteration over driver_info records 2022-12-02 08:39:00 -05:00
cpu dm: treewide: Do not opencode uclass_probe_all() 2022-10-17 21:17:12 -06:00
crypto global: Migrate CONFIG_SYS_FSL* symbols to the CFG_SYS namespace 2022-11-10 10:08:55 -05:00
ddr global: Migrate CONFIG_SYS_FSL* symbols to the CFG_SYS namespace 2022-11-10 10:08:55 -05:00
demo demo: migrate uclass to livetree 2021-10-05 08:50:15 -04:00
dfu blk: Switch over to using uclass IDs 2022-09-16 11:05:16 -04:00
dma global: Migrate CONFIG_SYS_MPC8* symbols to the CFG_SYS namespace 2022-11-10 10:08:55 -05:00
fastboot Audit <flash.h> inclusion 2022-08-04 16:18:47 -04:00
firmware firmware: scmi: fix the multi channel support with CCF 2022-10-12 08:55:31 -04:00
fpga fpga: virtex2: Use logging feature instead of FPGA_DEBUG 2022-10-10 12:28:08 +02:00
fuzz sandbox: Implement fuzzing engine driver 2022-06-23 12:58:19 -04:00
fwu-mdata FWU: Add FWU metadata access driver for GPT partitioned block devices 2022-10-31 14:47:32 -04:00
gpio arm: bcmbca: replace ARCH_BCM6753 symbols in Kconfig with BCM6855 2022-10-31 08:55:59 -04:00
hwspinlock treewide: invaild -> invalid 2022-01-13 07:57:49 -05:00
i2c i2c: nuvoton: renamed the NPCM i2c driver 2022-12-05 06:00:37 +01:00
input input: Remove legacy KEYBOARD option 2022-10-21 13:47:56 -04:00
iommu iommu: Add M2 support to Apple DART driver 2022-07-25 09:38:47 -04:00
led led: led_pwm: typo 'iverted' on code comment 2022-11-02 13:58:17 -04:00
mailbox mailbox: zynqmp: Enable ipi mailbox driver for Versal NET 2022-09-26 14:23:29 +02:00
memory memory: Add TI GPMC driver 2022-10-26 15:21:12 -04:00
misc global: Migrate CONFIG_SYS_FSL* symbols to the CFG_SYS namespace 2022-11-10 10:08:55 -05:00
mmc global: Migrate CONFIG_SYS_FSL* symbols to the CFG_SYS namespace 2022-11-10 10:08:55 -05:00
mtd mtd: nand: make Samsung SLC NAND usable again 2022-12-10 14:35:55 +01:00
mux treewide: invaild -> invalid 2022-01-13 07:57:49 -05:00
net net: xilinx_axi: check PCS/PMA PHY status in setup_phy 2022-12-05 08:55:54 +01:00
nvme Merge branch 'master' into next 2022-09-19 16:07:12 -04:00
pch treewide: Simply conditions with the new OF_REAL 2021-09-25 09:46:15 -06:00
pci global: Migrate CONFIG_SYS_FSL* symbols to the CFG_SYS namespace 2022-11-10 10:08:55 -05:00
pci_endpoint dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
phy phy: ti: j721e-wiz: add j784s4-wiz-10g module support 2022-10-18 09:48:22 -04:00
pinctrl Revert "pinctrl: zynqmp: Add support for output-enable and bias-high-impedance" 2022-11-22 15:02:07 +01:00
power For 2022.01 2022-11-14 09:33:36 -05:00
pwm pwm: mtk: add support for MediaTek MT7981 SoC 2022-09-23 15:09:15 -04:00
qe global: Migrate CONFIG_SYS_FSL* symbols to the CFG_SYS namespace 2022-11-10 10:08:55 -05:00
ram ram: ast2600: Align the RL and WL setting 2022-11-24 16:26:01 -05:00
reboot-mode reboot-mode: migrate uclass to livetree 2021-10-05 08:50:15 -04:00
remoteproc remoteproc: ipu: Add driver to bring up ipu 2022-02-08 11:00:03 -05:00
reset reset: zynqmp: Enable reset driver for Versal NET 2022-09-26 14:23:29 +02:00
rng drivers: rng: optee_rng: register to CONFIG_OPTEE_SERVICE_DISCOVERY 2022-09-14 15:23:03 -04:00
rtc rtc: Remove unused drivers 2022-11-10 09:45:54 -05:00
scsi usb: Update the test to cover reading and writing 2022-10-31 11:02:44 -04:00
serial arm: amlogic: add setbrg op to serial device 2022-11-22 18:53:21 +01:00
smem smem: msm: add missing <linux/sizes.h> 2022-10-12 08:56:24 -04:00
soc soc: xilinx: versal-net: Add soc_xilinx_versal_net driver 2022-11-22 15:02:07 +01:00
sound test: test sandbox sound driver more rigorously 2022-12-05 17:43:21 +01:00
spi spi: cadence-qspi: Remove condition for calling enable linear mode 2022-12-05 08:55:55 +01:00
spmi spmi: msm: add arbiter version 5 support 2021-10-31 08:46:44 -04:00
sysinfo dm: core: Switch uclass_*_device_err to use uclass_*_device_check 2022-10-29 07:36:33 -06:00
sysreset dm: treewide: Use uclass_first_device_err when accessing one device 2022-10-17 21:17:12 -06:00
tee blk: Switch over to using uclass IDs 2022-09-16 11:05:16 -04:00
thermal thermal: add sandbox driver 2022-10-11 16:03:03 -04:00
timer timer: xilinx-timer: use timer_conv_64() to fix timer wrap around 2022-11-22 15:02:07 +01:00
tpm tpm: Implement state command for Cr50 2022-09-03 16:59:05 +03:00
ufs lib: fix selection of CONFIG_CHARSET 2022-05-03 21:39:22 +02:00
usb usb: gadget: rndis: Prevent InformationBufferOffset manipulation 2022-12-08 14:30:39 +01:00
video video: Rename CONFIG_DM_VIDEO to CONFIG_VIDEO 2022-10-30 20:07:17 +01:00
virtio dm: treewide: Do not opencode uclass_probe_all() 2022-10-17 21:17:12 -06:00
w1 dm: treewide: Do not use the return value of simple uclass iterator 2022-10-29 07:36:33 -06:00
w1-eeprom dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
watchdog watchdog: Drop GD_FLG_WDT_READY as it's not used any more 2022-11-22 08:56:26 +01:00
xen xen: pvblock: Use uclass_probe_all 2022-11-02 13:58:17 -04:00
Kconfig FWU: Add support for the FWU Multi Bank Update feature 2022-10-31 14:47:32 -04:00
Makefile bus: Optionally include TI sysc driver in SPL/TPL 2022-12-02 08:39:00 -05:00