Re: [linux-sunxi] [PATCH 2/4] drivers: soc: sunxi: fix error processing on base address when claiming
On Fri, Aug 18, 2017 at 2:23 PM, Icenowy Zheng wrote: > > > 于 2017年8月18日 GMT+08:00 下午2:21:07, Chen-Yu Tsai 写到: >>Hi, >> >>On Wed, Aug 9, 2017 at 4:56 PM, Icenowy Zheng wrote: >>> When claiming SRAM, if the base is set to an error, it means that the >>> SRAM controller has been probed, but failed to remap the controller >>> memory zone. If the base is zero, thus the SRAM controller should be >>not >>> probed at all, and it should return -EPROBE_DEFER. However, currently >>we >>> returned -EPROBE_DEFER in the former situation, and ignored the >>latter >>> situation (which will lead to the kernel to panic). >>> >>> Fix the behavior on abnormal base address processing when claiming. >> >>Could you describe how you actually ran into this? The failure seems >>unlikely for a properly written device tree. > > In fact it's possible, as the probe defering used to be broken. > > On the A64 situation, the SRAM is referenced by the DE2 CCU driver, which > will be probed very early -- before SRAM is probed, and the problem happens. OK. I see it's because the DE block's address if before almost everything else. I was wondering why we never ran into this before. Given there are no actual users in the kernel that could trigger this, I'll queue this for 4.14 instead. ChenYu
Re: [linux-sunxi] [PATCH 2/4] drivers: soc: sunxi: fix error processing on base address when claiming
于 2017年8月18日 GMT+08:00 下午2:21:07, Chen-Yu Tsai 写到: >Hi, > >On Wed, Aug 9, 2017 at 4:56 PM, Icenowy Zheng wrote: >> When claiming SRAM, if the base is set to an error, it means that the >> SRAM controller has been probed, but failed to remap the controller >> memory zone. If the base is zero, thus the SRAM controller should be >not >> probed at all, and it should return -EPROBE_DEFER. However, currently >we >> returned -EPROBE_DEFER in the former situation, and ignored the >latter >> situation (which will lead to the kernel to panic). >> >> Fix the behavior on abnormal base address processing when claiming. > >Could you describe how you actually ran into this? The failure seems >unlikely for a properly written device tree. In fact it's possible, as the probe defering used to be broken. On the A64 situation, the SRAM is referenced by the DE2 CCU driver, which will be probed very early -- before SRAM is probed, and the problem happens. > >Thanks >ChenYu
Re: [linux-sunxi] [PATCH 2/4] drivers: soc: sunxi: fix error processing on base address when claiming
Hi, On Wed, Aug 9, 2017 at 4:56 PM, Icenowy Zheng wrote: > When claiming SRAM, if the base is set to an error, it means that the > SRAM controller has been probed, but failed to remap the controller > memory zone. If the base is zero, thus the SRAM controller should be not > probed at all, and it should return -EPROBE_DEFER. However, currently we > returned -EPROBE_DEFER in the former situation, and ignored the latter > situation (which will lead to the kernel to panic). > > Fix the behavior on abnormal base address processing when claiming. Could you describe how you actually ran into this? The failure seems unlikely for a properly written device tree. Thanks ChenYu
Re: [linux-sunxi] [PATCH 2/4] drivers: soc: sunxi: fix error processing on base address when claiming
On Wed, Aug 9, 2017 at 4:56 PM, Icenowy Zheng wrote: > When claiming SRAM, if the base is set to an error, it means that the > SRAM controller has been probed, but failed to remap the controller > memory zone. If the base is zero, thus the SRAM controller should be not > probed at all, and it should return -EPROBE_DEFER. However, currently we > returned -EPROBE_DEFER in the former situation, and ignored the latter > situation (which will lead to the kernel to panic). > > Fix the behavior on abnormal base address processing when claiming. > > Signed-off-by: Icenowy Zheng Fixes: 4af34b572a85 ("drivers: soc: sunxi: Introduce SoC driver to map SRAMs") ? I can add the tag when applying. ChenYu