[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ddc720b2-8bb4-4a07-8280-dadeb2de5b26@roeck-us.net>
Date: Mon, 9 Dec 2024 08:18:33 -0800
From: Guenter Roeck <linux@...ck-us.net>
To: Geert Uytterhoeven <geert@...ux-m68k.org>,
Dave Penkler <dpenkler@...il.com>
Cc: gregkh@...uxfoundation.org, linux-staging@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5] staging: gpib: Fix i386 build issue
On 12/9/24 08:01, Geert Uytterhoeven wrote:
> Hi Dave,
>
> On Wed, Dec 4, 2024 at 5:21 PM Dave Penkler <dpenkler@...il.com> wrote:
>> These drivers cast resource_type_t to void * causing the build to fail.
>>
>> With CONFIG_X86_PAE enabled the resource_size_t type is a 64bit unsigned
>> int which cannot be cast to a 32 bit pointer.
>>
>> Disable these drivers if X68_PAE is enabled
>>
>> Reported-by: Guenter Roeck <linux@...ck-us.net>
>> Closes: https://lore.kernel.org/all/f10e976e-7a04-4454-b38d-39cd18f142da@roeck-us.net/
>> Fixes: e9dc69956d4d ("staging: gpib: Add Computer Boards GPIB driver")
>> Fixes: e1339245eba3 ("staging: gpib: Add Computer Equipment Corporation GPIB driver")
>> Fixes: bb1bd92fa0f2 ("staging: gpib: Add ines GPIB driver")
>> Fixes: 0cd5b05551e0 ("staging: gpib: Add TNT4882 chip based GPIB driver")
>> Signed-off-by: Dave Penkler <dpenkler@...il.com>
>
> Thanks for your patch!
>
>> --- a/drivers/staging/gpib/Kconfig
>> +++ b/drivers/staging/gpib/Kconfig
>> @@ -50,6 +50,7 @@ config GPIB_CEC_PCI
>> tristate "CEC PCI board"
>> depends on PCI
>> depends on HAS_IOPORT
>> + depends on !X86_PAE
>
> !CONFIG_PHYS_ADDR_T_64BIT, to match the definition of phys_addr_t?
>
That would be wrong. It would disable the code for all 64-bit builds.
The underlying problem is that the code uses a pointer to store the physical
address. That doesn't work if sizeof(pointer) < sizeof(physical address),
which affects systems with X86_PAE enabled. I have not seen the problem
anywhere else.
Guenter
Powered by blists - more mailing lists