
Hi Wolfgang,
On Mon, Apr 6, 2020 at 3:08 PM Wolfgang Wallner wolfgang.wallner@br-automation.com wrote:
Hi Bin,
-----"Bin Meng" bmeng.cn@gmail.com schrieb: -----
On Sat, Apr 4, 2020 at 6:32 PM Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
On Fri, Apr 03, 2020 at 06:35:32PM -0700, Bin Meng wrote:
Currently the driver gets ns16550 base address in the driver probe() routine, which may potentially break any ns16550 wrapper driver that does additional initialization before calling ns16550_serial_probe().
Things are complicated that we need consider ns16550 devices on both simple-bus and PCI bus. To fix the issue we move the base address assignment for simple-bus ns16550 device back to the ofdata_to_platdata(), and assign base address for PCI ns16550 device in ns16550_serial_probe().
This is still not perfect. If any PCI bus based ns16550 wrapper driver tries to access plat->base before calling probe(), it is still subject to break.
Fixes: 720f9e1fdb0c9 ("serial: ns16550: Move PCI access from
ofdata_to_platdata() to probe()")
Reported-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Signed-off-by: Bin Meng bmeng.cn@gmail.com
And re-tested. Works for me, thanks!
Tested-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Reviewed-by: Wolfgang Wallner
wolfgang.wallner@br-automation.com
Tested-by: Wolfgang Wallner wolfgang.wallner@br-automation.com
applied to u-boot-x86, thanks!
Maybe a little late, but I have also re-tested v3 now and can confirm it still works, thanks!
Thank you. The fix is now in the mainline.
Regards, Bin