All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.