From: Lizhi Hou <lizhi.hou@xilinx.com>
To: Greg KH <gregkh@linuxfoundation.org>, Lizhi Hou <lizhi.hou@xilinx.com>
Cc: <linux-kernel@vger.kernel.org>, <linux-serial@vger.kernel.org>,
<jacmet@sunsite.dk>
Subject: Re: [PATCH 1/1] tty: serial: uartlite: allow 64 bit address
Date: Tue, 23 Nov 2021 12:12:06 -0800 [thread overview]
Message-ID: <0e212384-396b-f765-be28-f9319c64b5f7@xilinx.com> (raw)
In-Reply-To: <YZ05/73+BhIANNGF@kroah.com>
On 11/23/21 10:59 AM, Greg KH wrote:
>
> On Tue, Nov 23, 2021 at 10:45:06AM -0800, Lizhi Hou wrote:
>> Fix the uartlite probe failure when it is mapped to address above 4G.
> Fix it how?
Does this detail comment look ok to you?
The base address of uartlite registers could be 64 bit address which is
from device resource. When ulite_probe() calls ulite_assign(), this 64
bit address is casted to 32-bit. The fix is to replace "u32" type with
"phys_addr_t" type for the base address in ulite_assign() argument list.
>
>> Signed-off-by: Lizhi Hou <lizhi.hou@xilinx.com>
> What commit caused this problem? What commit does this fix? Should it
> go to stable kernels?
I searched the history. This problem was introduced by
https://github.com/torvalds/linux/commit/8fa7b6100693e0b648ffd34564f6f41226502a19
And yes, I agree this should go to stable kernels. I will add
stable@vger.kernel.org to cc list.
>
>> ---
>> drivers/tty/serial/uartlite.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/tty/serial/uartlite.c b/drivers/tty/serial/uartlite.c
>> index d3d9566e5dbd..e1fa52d31474 100644
>> --- a/drivers/tty/serial/uartlite.c
>> +++ b/drivers/tty/serial/uartlite.c
>> @@ -626,7 +626,7 @@ static struct uart_driver ulite_uart_driver = {
>> *
>> * Returns: 0 on success, <0 otherwise
>> */
>> -static int ulite_assign(struct device *dev, int id, u32 base, int irq,
>> +static int ulite_assign(struct device *dev, int id, phys_addr_t base, int irq,
>> struct uartlite_data *pdata)
> So you changed the variable type which does what exactly here?
ulite_probe()
-> ulite_assign(&pdev->dev, id, res->start, irq, pdata)
^^^^^^ could be
64-bit address. Thus "u32 base" may lose the high 32-bit.
Hopefully this makes sense to you. And I can re-submit an updated patch.
Thanks,
Lizhi
>
> thanks,
>
> greg k-h
next prev parent reply other threads:[~2021-11-23 20:12 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-23 18:45 [PATCH 1/1] tty: serial: uartlite: allow 64 bit address Lizhi Hou
2021-11-23 18:59 ` Greg KH
2021-11-23 20:12 ` Lizhi Hou [this message]
2021-11-24 8:13 ` Greg KH
2021-11-29 20:23 Lizhi Hou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0e212384-396b-f765-be28-f9319c64b5f7@xilinx.com \
--to=lizhi.hou@xilinx.com \
--cc=gregkh@linuxfoundation.org \
--cc=jacmet@sunsite.dk \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.