[PATCH v3] serial: ns16550: Fix ordering of getting base address

Bin Meng bmeng.cn at gmail.com
Mon Apr 6 09:36:12 CEST 2020


Hi Wolfgang,

On Mon, Apr 6, 2020 at 3:08 PM Wolfgang Wallner
<wolfgang.wallner at br-automation.com> wrote:
>
> Hi Bin,
>
> -----"Bin Meng" <bmeng.cn at gmail.com> schrieb: -----
>
> >On Sat, Apr 4, 2020 at 6:32 PM Andy Shevchenko
> ><andriy.shevchenko at 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 at linux.intel.com>
> >> > Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
> >>
> >> And re-tested. Works for me, thanks!
> >>
> >> > Tested-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
> >> > Reviewed-by: Wolfgang Wallner
> ><wolfgang.wallner at br-automation.com>
> >> > Tested-by: Wolfgang Wallner <wolfgang.wallner at 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


More information about the U-Boot mailing list